Quantcast
Channel: Answers for "create script for indexes"
Viewing all articles
Browse latest Browse all 8

Answer by WilliamD

$
0
0
**EDIT: 04-01-11** Magnus's comment below reminded me that I never updated this answer to include a link to the "tool" I finally created - here it is: [Index Creator][1] **END EDIT** ---------- ***WARNING - SQL 2005 + only *** I use something like this - no filegroup info, but you can add that if you want/need: SELECT 'CREATE '+ CASE WHEN sys.indexes.is_unique = 1 AND sys.indexes.is_primary_key = 0 THEN 'UNIQUE ' ELSE '' END + CASE WHEN sys.indexes.type_desc = 'CLUSTERED' THEN 'CLUSTERED ' ELSE 'NONCLUSTERED ' END +'INDEX ' + sys.indexes.name + ' ON ' + sys.objects.name + ' ( ' + Index_Columns.index_columns_key +' ) ' + ISNULL('INCLUDE ('+Index_Columns.index_columns_include+')','') FROM sys.objects JOIN sys.schemas ON sys.objects.schema_id=sys.schemas.schema_id JOIN sys.indexes ON sys.indexes.object_id=sys.objects.object_id CROSS APPLY ( SELECT LEFT(index_columns_key, LEN(index_columns_key)-1) AS index_columns_key, LEFT(index_columns_include, LEN(index_columns_include)-1) AS index_columns_include FROM ( SELECT ( SELECT sys.columns.name + ',' FROM sys.index_columns JOIN sys.columns ON sys.index_columns.column_id=sys.columns.column_id AND sys.index_columns.object_id=sys.columns.object_id WHERE sys.index_columns.is_included_column=0 AND sys.indexes.object_id=sys.index_columns.object_id AND sys.indexes.index_id=sys.index_columns.index_id ORDER BY key_ordinal FOR XML PATH('') ) AS index_columns_key, ( SELECT sys.columns.name + ',' FROM sys.index_columns JOIN sys.columns ON sys.index_columns.column_id=sys.columns.column_id AND sys.index_columns.object_id=sys.columns.object_id WHERE sys.index_columns.is_included_column=1 AND sys.indexes.object_id=sys.index_columns.object_id AND sys.indexes.index_id=sys.index_columns.index_id ORDER BY index_column_id FOR XML PATH('') ) AS index_columns_include ) AS Index_Columns ) AS Index_Columns WHERE sys.objects.type='u' AND sys.objects.is_ms_shipped=0 AND sys.indexes.type_desc <> 'HEAP' AND sys.indexes.is_primary_key = 0 [1]: http://williamdurkin.wordpress.com/2010/11/21/index-creator-script/

Viewing all articles
Browse latest Browse all 8

Trending Articles