为CREATE TABLE自动生成脚本,包括所有索引,约束等(不通过SSMS)

问题描述 投票:1回答:1

我有一个数据匿名化过程,该过程获取数据库的生产副本,并通过UPDATE-ing一些列将其转换为匿名副本。

有些表包含几百万行,所以我没有对列which is very log intensive进行UPDATE-ing,而是采用了

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命令来完全编写表/视图脚本的方法?即。就像SSMS在您单击“脚本表为-创建到”但在存储过程中一样吗?

tsql database-schema auto-generate
1个回答
1
投票

右键单击数据库,选择任务;那里有生成脚本。只需按照提示或Google获取其他信息即可。 enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.