Skip to content

Commit 6852117

Browse files
authored
Merge pull request #2449 from defcon84/2447_sp_BlitzIndex_CreateStmtForDisabledIndexes
#2447 sp_BlitzIndex Removed code that creates drop index for disabled index.
2 parents 154ce9f + e2c601c commit 6852117

File tree

1 file changed

+42
-48
lines changed

1 file changed

+42
-48
lines changed

sp_BlitzIndex.sql

Lines changed: 42 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -2175,55 +2175,49 @@ INSERT #IndexCreateTsql (index_sanity_id, create_tsql)
21752175
SELECT
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
22292223
FROM #IndexSanity;

0 commit comments

Comments
 (0)