Partition Yapılmış Tablodaki Partition Detaylarını Görmek

19 Tem by NURULLAH ÇAKIR

Partition Yapılmış Tablodaki Partition Detaylarını Görmek

Partition Oluşturmak” isimli makalemde nasıl partition oluşturulacağını anlattım. Bu makalede partition yapılmış bir tablonun partition’larının detaylarını gösterecek script’i paylaşacağım.

 

İlk olarak aşağıdaki script yardımıyla veritabanında partition yapılmış tabloları görebilirsiniz.

SELECT DISTINCT t.name FROM sys.partitions p
INNER JOIN sys.tables t ON p.object_id = t.object_id
WHERE p.partition_number <> 1

 

Daha sonra aşağıdaki script yardımıyla da partition yapılmış tablolarda partition detaylarını görebilirsiniz.

 

Sorguda WHERE bloğunda partition detayını görmek istediğiniz schema ismi ve tablo ismini, USE kısmında da ilgili veritabanı ismini yazmalısınız.

Örnek:  Sales.SalesOrderDetail

USE [Veritabanı İsminiz]
GO
SELECT PartitionScheme AS [Partition Şema İsmi],
       PartitionFunction AS [Partition Function İsmi],
          FileGroupName AS [File Group İsmi],
          rows AS [Kayıt Sayısı],
          CAST(SUM(CAST(sf.size AS BIGINT))/131072.0 AS DECIMAL(19,2)) AS [Büyüklük GB],
          PartitionFunctionValue AS [Partition Function Değeri]
FROM
(select distinct ps.Name AS PartitionScheme, pf.name AS PartitionFunction,fg.name AS FileGroupName,
 p.rows, prv.value AS PartitionFunctionValue,fg.data_space_id
    from sys.indexes i 
    join sys.partitions p ON i.object_id=p.object_id AND i.index_id=p.index_id 
    join sys.partition_schemes ps on ps.data_space_id = i.data_space_id 
    join sys.partition_functions pf on pf.function_id = ps.function_id 
    left join sys.partition_range_values prv on prv.function_id = pf.function_id AND prv.boundary_id = p.partition_number
    join sys.allocation_units au  ON au.container_id = p.hobt_id  
    join sys.filegroups fg  ON fg.data_space_id = au.data_space_id 
    where i.object_id = object_id('Partition Yapılmış Schema.Tablo İsminiz')) a
join sys.sysfiles sf ON a.data_space_id=sf.groupid
GROUP BY PartitionScheme,PartitionFunction,FileGroupName,rows,PartitionFunctionValue

 

Loading

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir