2010-09-16

Partition Tabloların Filegroup ve Diğer Bilgilerini Alma

Partition yapısındaki bir tablonun partition aralıklarını ve bu aralıkların hangi filegroup'ta tutulduğunu aşağıdaki sorgu ile alabilirsiniz:

select isnull(d.name,ps.name) FileGroupNameOrSchemeName
,isnull(d.type_desc , ps.type_desc ) FileGroupTypeOrSchemeType
,OBJECT_NAME(p.object_id) ObjectName
,p.rows
,p.data_compression_desc
,p.partition_id
,p.partition_number
,isnull(case when boundary_value_on_right =1 then '<' else '>' end + cast(minprv.value as varchar(100)),'~') + ' to '
+isnull( case when boundary_value_on_right =1 then '>='
else '<=' end + cast(prv.value as varchar(100)), '~') Criteria
,d2.name FilegroupName
from sys.partitions p join sys.indexes i on i.index_id = p.index_id and i.object_id = p.object_id
left join sys.data_spaces d on d.data_space_id = i.data_space_id
left join sys.partition_schemes ps on ps.data_space_id = i.data_space_id
left join sys.partition_functions pf on pf.function_id = ps.function_id
left join sys.partition_range_values prv on prv.function_id = ps.function_id and prv.boundary_id = p.partition_number
left join sys.partition_range_values minprv on minprv.function_id = ps.function_id and minprv.boundary_id = p.partition_number -1
left join sys.destination_data_spaces dds on dds.partition_scheme_id = ps.data_space_id and dds.destination_id = p.partition_number
left join sys.data_spaces d2 on d2.data_space_id = dds.data_space_id
where p.object_id=object_id('TabloAdi')

Hiç yorum yok:

.::YASAL UYARI::.

©2004-2023 Mehmet GÜZEL, www.mehmetguzel.net

Site içeriği kaynak gösterilmek koşuluyla yayınlanabilir. Yazılan yazı ve yorumlar sadece yazı ve yorum sahiplerini bağlar.