将大型数据库从一台服务器转移到另一台服务器

Ori*_*ion 6 sql-server

我正在与 LIVE 服务器不同位置的服务器上设置测试环境。

我需要制作 SQL Server 数据库的副本并将其移动。

我想知道,如果我要压缩数据和日志文件,然后将 zip 文件拆分为更小的文件以实现更快的 FTP。这会以任何方式损坏或改变数据对齐吗?

Sco*_*red 14

ZIP混合之前,请注意 Sql Server 本身支持将数据库备份到多个文件,通常会导致文件更小,备份时间更快。

查看备份到多个文件以获得更快和更小的 SQL Server 文件,作者是 Greg Robidoux。

总结格雷格的帖子:

问题

您是否曾经希望可以让备份运行得更快?那么可能有一种方法,通过写入多个文件。创建 SQL Server 备份非常简单;您可以使用 SQL Server 管理工具或使用 T-SQL 命令来发布备份。但有时大型数据库需要很长时间才能运行,而且很难通过网络复制这个非常大的文件,甚至复制到备份磁带上。

解决方案

将数据库备份写入多个文件。除了将数据库备份写入一个文件之外,您还可以同时写入多个文件,从而分散工作负载。这样做的好处是备份过程可以使用多个线程运行,因此可以更快地完成,并且可以通过网络移动或复制到 CD 或 DVD 的小得多的文件。写入多个文件的另一个优点是,如果您有多个磁盘阵列,您可以将备份文件写入不同的阵列,从而获得更好的 I/O 吞吐量。需要注意的一件事是,为了保持 I/O 吞吐量,您应该将备份文件的写入和数据库文件的读取保持在不同的磁盘阵列上。

使用 T-SQL 备份到多个文件

BACKUP DATABASE [Northwind] TO 
DISK = 'C:\Northwind_file1.bak', 
DISK = 'D:\Northwind_file2.bak', 
DISK = 'E:\Northwind_file3.bak', 
DISK = 'F:\Northwind_file4.bak' 
WITH INIT , NOUNLOAD , NAME = 'Northwind backup', NOSKIP , STATS = 10, NOFORMAT,COMPRESSION
Run Code Online (Sandbox Code Playgroud)

另一个注意事项:

你应该SERIOUSLY考虑采取这种备份与COPY_ONLY,以确保你不要弄乱你的生产差异基准。

  • 最后一个参数“WITH COMPRESSION”也值得明确提及。将其与备份多个文件结合使用应该无需使用第 3 方 ZIP 工具。 (2认同)