我正在为我们的 QA 部门创建一个存储过程,它将执行以下操作:接受特定输入以生成一致的名称,恢复数据库(为其提供生成的名称,)设置数据库以进行复制(三个合并发布),然后初始化这三个发布的快照。
不要担心这个的复制部分,到目前为止我已经处理过了。我想知道的是:
恢复数据库的最有效/效率最高的方法是什么?它将从备份中恢复(他们将从中恢复的 2 个数据库是 1.5gb 和 599mb)还是另一种方式?如果它不是来自 .bak 文件,您认为还有什么其他合适的恢复方式?
:: 这需要发生,严格来说,使用 TSQL ::
谢谢你,韦斯
真正备份数据库的唯一方法是创建数据库的备份(使用 BACKUP DATABASE)。所有其他方法(编写数据库模式和内容脚本、复制文件、操作系统文件快照)都是解决方法,而不是数据库备份。
因此,正如我所见,将数据库从一个地方复制到另一个地方的最佳方法是从备份中恢复它 (RESTORE DATABASE)。在我看来,没有其他有效和更有效的方法。无论如何,那是我的 2 美分。
现在,为了做好所有这些准备工作,我将制作不同的存储过程(使用动态 sql 来构建专有名称、路径等),它们将:
PS:如果有可能,请确保启用备份压缩,因为它对大小和速度确实有帮助。
PS2:考虑到您的备份文件大小,我不会太担心操作的持续时间。即使在普通的开发者盒子上也应该很快。