【问题标题】:Auto generate script for CREATE TABLE including all indices, constraints, etc (not via SSMS)为 CREATE TABLE 自动生成脚本,包括所有索引、约束等(不是通过 SSMS)
【发布时间】:2020-02-04 20:12:02
【问题描述】:

我有一个数据匿名化过程,它获取数据库的生产副本,并通过对某些列进行 UPDATE 将其转换为匿名副本。

有些表包含几百万行,所以我没有更新列which is very log intensive,而是采用了

SELECT 
  Id,
  CAST('Redacted' AS NVARCHAR(255)) [ColumnRequiringAnonymization]
INTO MyTable_New
FROM MyTable

EXEC sp_rename MyTable, MyTable_old
EXEC sp_rename MyTable_new, MyTable
DROP TABLE MyTable_old

这种方法的问题是“新”表不再有任何键、索引和其他依赖对象。我已经找到了使用 SP 生成 DROP 和 CREATE 脚本的键和索引。 SP 基于手动编写的 SQL,如可以看到的,例如in this answer.

下一个问题是我们在这个表的顶部有一个模式绑定视图,它自己有索引和全文索引。生成脚本的SP越来越多,我相信会有错误。

有没有办法只使用 SQL 命令来完全编写表格/视图的脚本? IE。就像 SSMS 在您单击“将表编写为 - 创建为”但在存储过程中所做的那样?

【问题讨论】:

    标签: tsql database-schema auto-generate


    【解决方案1】:

    右击数据库,选择Tasks;那里有生成脚本。只需按照提示或 Google 获取更多信息。

    【讨论】:

    • 问题是在没有 SSMS 的上下文中。
    • 是的,尽管进一步的解释表明您正在使用 ssms。不幸的是,没有其他办法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-29
    • 2023-03-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多