【问题标题】:How to programmatically create a 'database create script'?如何以编程方式创建“数据库创建脚本”?
【发布时间】:2014-03-13 10:31:02
【问题描述】:

问题

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

【问题讨论】:

标签: sql-server-2008 tsql sql-server-2012


【解决方案1】:

不确定您所说的以编程方式是什么意思,但是您上面提到的生成脚本应该可以完成这项工作。我将创建脚本来重新创建您的数据库及其架构,其中没有任何数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    • 2010-09-08
    • 2019-08-10
    • 1970-01-01
    • 2021-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多