【发布时间】:2012-07-13 14:40:08
【问题描述】:
我是 MS SQL 服务器的新手。我需要从具有相同模式的现有测试数据库创建一个测试数据库,并从生产中获取数据并填充新创建的空数据库。为此,我在 SSMS 中使用了生成脚本。但现在我需要在工作中定期这样做。请指导我如何在某个时间点自动创建空数据库。
【问题讨论】:
我是 MS SQL 服务器的新手。我需要从具有相同模式的现有测试数据库创建一个测试数据库,并从生产中获取数据并填充新创建的空数据库。为此,我在 SSMS 中使用了生成脚本。但现在我需要在工作中定期这样做。请指导我如何在某个时间点自动创建空数据库。
【问题讨论】:
您将很难自动化生成脚本向导。我建议使用Red-Gate's SQL Compare(支持命令行的or any alternative)之类的东西。您可以创建一个新的空数据库,然后使用 SQL Server 代理的命令行编写比较/部署脚本。
另一个更棘手的选择是将架构和模块部署到model 数据库。您可以使用 SQL 比较(或替代方法)保持同步,或者只关注架构/模块更改的部署,然后当您创建新数据库时,它将自动继承架构/模块的当前状态。这种方法的问题(除了取决于您保持model 同步)是所有 新数据库将继承此架构,因为there currently is no way to have multiple models。
【讨论】:
您是否考虑过恢复备份?
【讨论】:
为了补充 Aaron 已经很好的答案,我多年来一直在使用 SQLDelta - 我认为它非常好。
(除了作为一个非常满意的客户之外,我与 SqlDelta 没有任何联系)
【讨论】: