You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
details = CAST(seg.min_data_id AS VARCHAR(20)) + '' to '' + CAST(seg.max_data_id AS VARCHAR(20)) + '', '' + CAST(CAST((seg.on_disk_size / 1024.0 / 1024) AS DECIMAL(18,0)) AS VARCHAR(20)) + '' MB''
2787
-
FROM '+QUOTENAME(@DatabaseName) + N'.sys.column_store_row_groups rg
2788
-
INNER JOIN '+QUOTENAME(@DatabaseName) + N'.sys.columns c ON rg.object_id = c.object_id
2789
-
INNER JOIN '+QUOTENAME(@DatabaseName) + N'.sys.partitions p ON rg.object_id = p.object_id AND rg.partition_number = p.partition_number
2790
-
INNER JOIN '+QUOTENAME(@DatabaseName) + N'.sys.index_columns ic on ic.column_id = c.column_id AND ic.object_id = c.object_id AND ic.index_id = p.index_id
2791
-
LEFT OUTER JOIN '+QUOTENAME(@DatabaseName) + N'.sys.column_store_segments seg ON p.partition_id = seg.partition_id AND ic.index_column_id = seg.column_id AND rg.row_group_id = seg.segment_id
WHEN format_type IS NULL THEN CAST(range_start_value AS NVARCHAR(4000))
2799
+
ELSE CONVERT(NVARCHAR(4000), range_start_value, format_type) END range_start,
2800
+
range_end_op,
2801
+
CASE
2802
+
WHEN format_type IS NULL THEN CAST(range_end_value AS NVARCHAR(4000))
2803
+
ELSE CONVERT(NVARCHAR(4000), range_end_value, format_type) END range_end'ELSEN' 'END+ N'
2804
+
FROM (
2805
+
SELECT c.name AS column_name, p.partition_number, rg.row_group_id, rg.total_rows, rg.deleted_rows,
2806
+
details = CAST(seg.min_data_id AS VARCHAR(20)) + '' to '' + CAST(seg.max_data_id AS VARCHAR(20)) + '', '' + CAST(CAST((seg.on_disk_size / 1024.0 / 1024) AS DECIMAL(18,0)) AS VARCHAR(20)) + '' MB'''
2807
+
+CASEWHEN @ShowPartitionRanges =1THEN N',
2808
+
CASE
2809
+
WHEN pp.system_type_id IN (40, 41, 42, 43, 58, 61) THEN 126
2810
+
WHEN pp.system_type_id IN (59, 62) THEN 3
2811
+
WHEN pp.system_type_id IN (60, 122) THEN 2
2812
+
ELSE NULL END format_type,
2813
+
CASE WHEN pf.boundary_value_on_right = 0 THEN ''>'' ELSE ''>='' END range_start_op,
2814
+
prvs.value range_start_value,
2815
+
CASE WHEN pf.boundary_value_on_right = 0 THEN ''<='' ELSE ''<'' END range_end_op,
2816
+
prve.value range_end_value 'ELSEN' 'END+ N'
2817
+
FROM '+QUOTENAME(@DatabaseName) + N'.sys.column_store_row_groups rg
2818
+
INNER JOIN '+QUOTENAME(@DatabaseName) + N'.sys.columns c ON rg.object_id = c.object_id
2819
+
INNER JOIN '+QUOTENAME(@DatabaseName) + N'.sys.partitions p ON rg.object_id = p.object_id AND rg.partition_number = p.partition_number
2820
+
INNER JOIN '+QUOTENAME(@DatabaseName) +N'.sys.index_columns ic on ic.column_id = c.column_id AND ic.object_id = c.object_id AND ic.index_id = p.index_id '+CASEWHEN @ShowPartitionRanges =1THEN N'
2821
+
LEFT OUTER JOIN '+QUOTENAME(@DatabaseName) + N'.sys.indexes i ON i.object_id = rg.object_id AND i.index_id = rg.index_id
2822
+
LEFT OUTER JOIN '+QUOTENAME(@DatabaseName) + N'.sys.partition_schemes ps ON ps.data_space_id = i.data_space_id
2823
+
LEFT OUTER JOIN '+QUOTENAME(@DatabaseName) + N'.sys.partition_functions pf ON pf.function_id = ps.function_id
2824
+
LEFT OUTER JOIN '+QUOTENAME(@DatabaseName) + N'.sys.partition_parameters pp ON pp.function_id = pf.function_id
2825
+
LEFT OUTER JOIN '+QUOTENAME(@DatabaseName) + N'.sys.partition_range_values prvs ON prvs.function_id = pf.function_id AND prvs.boundary_id = p.partition_number - 1
2826
+
LEFT OUTER JOIN '+QUOTENAME(@DatabaseName) +N'.sys.partition_range_values prve ON prve.function_id = pf.function_id AND prve.boundary_id = p.partition_number 'ELSEN' 'END
2827
+
+N' LEFT OUTER JOIN '+QUOTENAME(@DatabaseName) + N'.sys.column_store_segments seg ON p.partition_id = seg.partition_id AND ic.index_column_id = seg.column_id AND rg.row_group_id = seg.segment_id
2828
+
WHERE rg.object_id = @ObjectID'
2829
+
+CASEWHEN @ShowPartitionRanges =1THEN N'
2830
+
) AS y 'ELSEN' 'END+ N'
2793
2831
) AS x
2794
2832
PIVOT (MAX(details) FOR column_name IN ( '+ @ColumnList + N')) AS pivot1
0 commit comments