Sql server 2008 如何以编程方式创建';数据库创建脚本';? 问题

Sql server 2008 如何以编程方式创建';数据库创建脚本';? 问题,sql-server-2008,tsql,sql-server-2012,Sql Server 2008,Tsql,Sql Server 2012,在SQL Server Manager 2008/2012中,可以创建现有数据库的完整克隆。 有没有办法以编程方式生成此类脚本? [数据库]->右键单击->任务->生成脚本 我试过的 我已经尝试以编程方式重新创建数据库,并从所有表中删除所有行。但似乎不可能禁用所有外键约束。我在上找到了一些脚本,可以删除并重新创建约束,但它们不能处理集群约束 -- disable trigger / fk constraints EXEC sp_MSForEachTable "ALTER TABLE ? DISA

在SQL Server Manager 2008/2012中,可以创建现有数据库的完整克隆。
有没有办法以编程方式生成此类脚本?

[数据库]->右键单击->任务->生成脚本

我试过的 我已经尝试以编程方式重新创建数据库,并从所有表中删除所有行。但似乎不可能禁用所有外键约束。我在上找到了一些脚本,可以删除并重新创建约束,但它们不能处理集群约束

-- 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"

不确定你所说的程序化是什么意思,但是上面提到的生成脚本应该可以完成这项工作。我将创建脚本来重新创建数据库及其模式,其中不包含任何数据

在我的谷歌搜索中的第三个:可能是