Tsql 自动生成用于创建表的脚本,包括所有索引、约束等(不通过SSM)

Tsql 自动生成用于创建表的脚本,包括所有索引、约束等(不通过SSM),tsql,database-schema,auto-generate,Tsql,Database Schema,Auto Generate,我有一个数据匿名过程,它获取数据库的生产副本,并通过更新某些列将其转换为匿名副本 有些表包含数百万行,因此我没有更新列,而是采用 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 D

我有一个数据匿名过程,它获取数据库的生产副本,并通过更新某些列将其转换为匿名副本

有些表包含数百万行,因此我没有更新列,而是采用

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
这种方法的问题是“新”表不再具有任何键、索引和其他依赖对象。我已经使用SPs计算出了键和索引,以生成拖放和创建脚本。SP基于手动编写的SQL,如图所示

下一个问题是,我们在这个表的顶部有一个Schemabile视图,它本身有索引和全文索引。生成脚本的SP的数量正在增加,我相信会有错误


是否有一种仅使用SQL命令就可以完全编写表/视图脚本的方法?就像SSMS在您单击“脚本表为-创建为”时所做的那样,但在存储过程中?

右键单击数据库,选择任务;那里有很多生成脚本。只需按照提示或谷歌搜索更多信息

右键点击数据库,选择任务;那里有很多生成脚本。只需按照提示或谷歌搜索更多信息

这个问题是在没有SSMS的情况下提出的。是的,尽管进一步的解释表明您正在使用SSMS。不幸的是,没有其他方法。这个问题是在没有SSMS的情况下提出的。是的,尽管进一步的解释表明您正在使用SSMS。不幸的是,没有其他办法。