我想生成数据库中所有索引的脚本(创建索引(。
从数据库 -> 任务 -> 生成脚本选项 仅获取创建具有主键索引的表。所以我想要其他索引。我们如何在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 应在创建表时创建所有索引。