@@ -2175,55 +2175,49 @@ INSERT #IndexCreateTsql (index_sanity_id, create_tsql)
21752175SELECT
21762176 index_sanity_id,
21772177 ISNULL (
2178- /* Script drops for disabled non-clustered indexes*/
2179- CASE WHEN is_disabled = 1 AND index_id <> 1
2180- THEN N ' --DROP INDEX ' + QUOTENAME ([index_name]) + N ' ON '
2181- + QUOTENAME ([schema_name]) + N ' .' + QUOTENAME ([object_name])
2182- ELSE
2183- CASE index_id WHEN 0 THEN N ' ALTER TABLE ' + QUOTENAME ([database_name]) + N ' .' + QUOTENAME ([schema_name]) + N ' .' + QUOTENAME ([object_name]) + ' REBUILD;'
2178+ CASE index_id WHEN 0 THEN N ' ALTER TABLE ' + QUOTENAME ([database_name]) + N ' .' + QUOTENAME ([schema_name]) + N ' .' + QUOTENAME ([object_name]) + ' REBUILD;'
2179+ ELSE
2180+ CASE WHEN is_XML = 1 OR is_spatial= 1 THEN N ' ' /* Not even trying for these just yet...*/
21842181 ELSE
2185- CASE WHEN is_XML = 1 OR is_spatial= 1 THEN N ' ' /* Not even trying for these just yet...*/
2186- ELSE
2187- CASE WHEN is_primary_key= 1 THEN
2188- N ' ALTER TABLE ' + QUOTENAME ([database_name]) + N ' .' + QUOTENAME ([schema_name]) +
2189- N ' .' + QUOTENAME ([object_name]) +
2190- N ' ADD CONSTRAINT [' +
2191- index_name +
2192- N ' ] PRIMARY KEY ' +
2193- CASE WHEN index_id= 1 THEN N ' CLUSTERED (' ELSE N ' (' END +
2194- key_column_names_with_sort_order_no_types + N ' )'
2195- WHEN is_CX_columnstore= 1 THEN
2196- N ' CREATE CLUSTERED COLUMNSTORE INDEX ' + QUOTENAME (index_name) + N ' on ' + QUOTENAME ([database_name]) + N ' .' + QUOTENAME ([schema_name]) + N ' .' + QUOTENAME ([object_name])
2197- ELSE /* Else not a PK or cx columnstore */
2198- N ' CREATE ' +
2199- CASE WHEN is_unique= 1 THEN N ' UNIQUE ' ELSE N ' ' END +
2200- CASE WHEN index_id= 1 THEN N ' CLUSTERED ' ELSE N ' ' END +
2201- CASE WHEN is_NC_columnstore= 1 THEN N ' NONCLUSTERED COLUMNSTORE '
2202- ELSE N ' ' END +
2203- N ' INDEX ['
2204- + index_name + N ' ] ON ' +
2205- QUOTENAME ([database_name]) + N ' .' +
2206- QUOTENAME ([schema_name]) + N ' .' + QUOTENAME ([object_name]) +
2207- CASE WHEN is_NC_columnstore= 1 THEN
2208- N ' (' + ISNULL (include_column_names_no_types,' ' ) + N ' )'
2209- ELSE /* Else not colunnstore */
2210- N ' (' + ISNULL (key_column_names_with_sort_order_no_types,' ' ) + N ' )'
2211- + CASE WHEN include_column_names_no_types IS NOT NULL THEN
2212- N ' INCLUDE (' + include_column_names_no_types + N ' )'
2213- ELSE N ' '
2214- END
2215- END /* End non-colunnstore case */
2216- + CASE WHEN filter_definition <> N ' ' THEN N ' WHERE ' + filter_definition ELSE N ' ' END
2217- END /* End Non-PK index CASE */
2218- + CASE WHEN is_NC_columnstore= 0 AND is_CX_columnstore= 0 THEN
2219- N ' WITH ('
2220- + N ' FILLFACTOR=' + CASE fill_factor WHEN 0 THEN N ' 100' ELSE CAST (fill_factor AS NVARCHAR (5 )) END + ' , '
2221- + N ' ONLINE=?, SORT_IN_TEMPDB=?, DATA_COMPRESSION=?'
2222- + N ' )'
2223- ELSE N ' ' END
2224- + N ' ;'
2225- END /* End non-spatial and non-xml CASE */
2226- END
2182+ CASE WHEN is_primary_key= 1 THEN
2183+ N ' ALTER TABLE ' + QUOTENAME ([database_name]) + N ' .' + QUOTENAME ([schema_name]) +
2184+ N ' .' + QUOTENAME ([object_name]) +
2185+ N ' ADD CONSTRAINT [' +
2186+ index_name +
2187+ N ' ] PRIMARY KEY ' +
2188+ CASE WHEN index_id= 1 THEN N ' CLUSTERED (' ELSE N ' (' END +
2189+ key_column_names_with_sort_order_no_types + N ' )'
2190+ WHEN is_CX_columnstore= 1 THEN
2191+ N ' CREATE CLUSTERED COLUMNSTORE INDEX ' + QUOTENAME (index_name) + N ' on ' + QUOTENAME ([database_name]) + N ' .' + QUOTENAME ([schema_name]) + N ' .' + QUOTENAME ([object_name])
2192+ ELSE /* Else not a PK or cx columnstore */
2193+ N ' CREATE ' +
2194+ CASE WHEN is_unique= 1 THEN N ' UNIQUE ' ELSE N ' ' END +
2195+ CASE WHEN index_id= 1 THEN N ' CLUSTERED ' ELSE N ' ' END +
2196+ CASE WHEN is_NC_columnstore= 1 THEN N ' NONCLUSTERED COLUMNSTORE '
2197+ ELSE N ' ' END +
2198+ N ' INDEX ['
2199+ + index_name + N ' ] ON ' +
2200+ QUOTENAME ([database_name]) + N ' .' +
2201+ QUOTENAME ([schema_name]) + N ' .' + QUOTENAME ([object_name]) +
2202+ CASE WHEN is_NC_columnstore= 1 THEN
2203+ N ' (' + ISNULL (include_column_names_no_types,' ' ) + N ' )'
2204+ ELSE /* Else not colunnstore */
2205+ N ' (' + ISNULL (key_column_names_with_sort_order_no_types,' ' ) + N ' )'
2206+ + CASE WHEN include_column_names_no_types IS NOT NULL THEN
2207+ N ' INCLUDE (' + include_column_names_no_types + N ' )'
2208+ ELSE N ' '
2209+ END
2210+ END /* End non-colunnstore case */
2211+ + CASE WHEN filter_definition <> N ' ' THEN N ' WHERE ' + filter_definition ELSE N ' ' END
2212+ END /* End Non-PK index CASE */
2213+ + CASE WHEN is_NC_columnstore= 0 AND is_CX_columnstore= 0 THEN
2214+ N ' WITH ('
2215+ + N ' FILLFACTOR=' + CASE fill_factor WHEN 0 THEN N ' 100' ELSE CAST (fill_factor AS NVARCHAR (5 )) END + ' , '
2216+ + N ' ONLINE=?, SORT_IN_TEMPDB=?, DATA_COMPRESSION=?'
2217+ + N ' )'
2218+ ELSE N ' ' END
2219+ + N ' ;'
2220+ END /* End non-spatial and non-xml CASE */
22272221 END , ' [Unknown Error]' )
22282222 AS create_tsql
22292223FROM #IndexSanity;
0 commit comments