将500 GB SQL Server数据库从生产复制到开发实例


12

我们需要将500 GB数据库从PRODUCTION服务器复制到DEV服务器。我们只有5个小时的窗口。

最快的方法是什么?


7
1.“ 5小时的窗口”是什么意思?产量会下降5个小时吗?2.您需要生产数据库的绝对最新版本,还是最近的备份就足够了?3.您的生产数据库处于哪种恢复模式?
Nick Chammas,

Answers:


15

您可以执行两种选择,它们不会对生产环境造成任何停机:

1)如果您只想获取数据库结构本身(不需要数据),则只需编写生产数据库脚本即可。然后只需在开发服务器上运行该命令即可创建数据库。

2)如果您需要数据库,则只需获取该数据库的最新备份并将其还原到开发服务器即可。您会发现这是使开发服务器与生产数据保持匹配的最常用方法。


9

如果你有

  • 备份压缩了吗?
  • 快速的服务器-服务器网络(入口点是1 GB)

...然后将其复制过来,还原。可以在powershell,perl,cmd.exe等中编写脚本。

当您说“窗口”时,我假设您指的是5个小时的生产窗口。负载开发并不是那么关键。


5

复制到本地连接的硬盘。

为什么只有有限的窗口?不要复制-将备份加载到开发人员。


同意 确实,还原备份就足够了,不需要分离(需要停机)。
p.campbell

2
我将复制备份。无需删除生产数据库即可将其复制到任何地方。如果需要特定的时间点,则可以进行copy_only备份(SQL 2005+),也可以复制一些事务日志备份。
Ben Thul 2011年

2

也许我的答案不适合您的用例,但是,您是否曾经考虑过使用日志传送等技术在开发服务器上设置备用数据库...,以便您可以在开发中恢复产品事先使此副本与您的产品保持同步...

希望有帮助


0

创建一个备份序列文件。假设您的整个备份大小为500 GB;您可以根据需要对其进行划分,创建由10个备份文件组成的10序列备份,每个备份文件的大小为50 GB,然后尝试逐个还原或移动备份文件。它将减少网络流量并恢复时间。


3
您好Subir,欢迎来到DBA.SE。我已经编辑你的答案,以提高其透明度,并在每个底部删除该签名时我们的准则。谢谢您的回答。
Nick Chammas 2012年

我看不到将文件拆分为10个单独的文件将如何与通过网络传输这些文件所需的时间有所不同。
Max Vernon 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.