在SQL Server Manager 2008/2012中,可以创建现有数据库的完整克隆。 有没有办法以编程方式生成这种脚本?
[数据库] - > 右键单击 - >任务 - >生成脚本
我已经尝试以编程方式重新创建数据库并删除所有表中的所有行。但似乎无法禁用所有外键约束。我发现SO上的某些脚本可以删除并重新创建约束但它们不会使用聚簇约束。
-- disable trigger / fk constraints
EXEC sp_MSForEachTable "ALTER TABLE ? DISABLE TRIGGER ALL"
EXEC sp_MSForEachTable "ALTER TABLE ? NOCHECK CONSTRAINT ALL"
-- truncate all tables
EXEC sp_MSForEachTable "DELETE FROM ?"
-- enable trigger / constraints
EXEC sp_MSForEachTable "ALTER TABLE ? ENABLE TRIGGER ALL"
EXEC sp_MSForEachTable "ALTER TABLE ? WITH CHECK CHECK CONSTRAINT ALL"
答案 0 :(得分:0)
不确定您的编程方式是什么意思,但上面提到的Generate脚本应该可以胜任。我将创建脚本来重新创建数据库及其架构,而不包含任何数据。