我需要备份一个包含大量数据的SQL Server Db,然后导入到另一个环境中进行更新和测试。因为,我对数据不感兴趣,我只想在我的其他服务器上重新创建模式。有一个名为“生成脚本”的选项,但是在目标服务器上运行它们会引发错误。
好奇,如果有人试图编写一个SQL脚本来运行数据库中的所有表并清除行,那么我就可以将模式备份创建为.bak文件并将其还原到另一个服务器中。
答案 0 :(得分:3)
Red Gate生成一个名为Sql Compare的产品,您可以使用该产品将架构从一个Sql Server数据库同步到另一个。这可能比自己编写一些脚本容易得多,而且如果两个数据库以后不同步,它可以让您轻松地传输更改。它不是免费产品,但您可以在14天的试用期内免费使用它。
答案 1 :(得分:3)
-- disable referential integrity
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
-- print table name
EXEC sp_MSForEachTable 'truncate table ?'
-- enable referential integrity again
EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
答案 2 :(得分:1)
你需要: