如何在MS SQL服务器中仅从数据库创建所有表的索引脚本?



我想生成数据库中所有索引的脚本(创建索引(。

从数据库 -> 任务 -> 生成脚本选项 仅获取创建具有主键索引的表。所以我想要其他索引。我们如何在SQL Server中生成它。聚集索引和非聚集索引需要单独的脚本。

SSMS 脚本选项是可配置的。若要在 SSMS 生成的脚本中包含非约束索引,请从"工具"--"选项"--">SQL Server 资源管理器"--"脚本 ->"下的工具菜单中将"脚本索引"选项更改为 true>选项>"。

如果 SSMS 脚本不足以满足您的需求,则可以使用 SMO(例如,通过 PowerShell 或 .NET 代码的脚本器(或跨平台的 mssql-scripter 命令行实用工具。

您可以轻松显示现有索引:

SELECT * FROM sys.indexes WHERE type_desc='CLUSTERED'
SELECT * FROM sys.indexes WHERE type_desc='NONCLUSTERED'

当你说要"生成数据库中所有索引的脚本"时,为什么? DDL 应在创建表时创建所有索引。

最新更新