Bazen partition yapılmış bir tabloya partition yapısını bozulmaması için yeni bir file group eklenme gereği duyulabilir. Bunun için elimizde bulunan partition scheme ve partition function yapısının düzenlenmesi gerekmektedir.
Bir veritabanı altındaki partition yapılmış tabloyu aşağıdaki komut ile görebiliriz.
use [PartSamp] SELECT OBJECT_NAME(si.object_id) AS object_name ,pf.NAME AS pf_name ,ps.NAME AS partition_scheme_name ,p.partition_number ,ds.NAME AS partition_filegroup ,rv.value AS range_value ,( CASE pf.boundary_value_on_right WHEN 0 THEN 'RAGE_LEFT' ELSE 'RANGE_RIGHT' END ) AS range_direction ,SUM(CASE WHEN si.index_id IN ( 1 ,0 ) THEN p.rows ELSE 0 END) AS num_rows FROM sys.destination_data_spaces AS dds INNER JOIN sys.data_spaces AS ds ON dds.data_space_id = ds.data_space_id INNER JOIN sys.partition_schemes AS ps ON dds.partition_scheme_id = ps.data_space_id INNER JOIN sys.partition_functions AS pf ON ps.function_id = pf.function_id LEFT JOIN sys.partition_range_values AS rv ON pf.function_id = rv.function_id AND dds.destination_id = CASE pf.boundary_value_on_right WHEN 0 THEN rv.boundary_id ELSE rv.boundary_id + 1 END LEFT JOIN sys.indexes AS si ON dds.partition_scheme_id = si.data_space_id LEFT JOIN sys.partitions AS p ON si.object_id = p.object_id AND si.index_id = p.index_id AND dds.destination_id = p.partition_number LEFT JOIN sys.dm_db_partition_stats AS dbps ON p.object_id = dbps.object_id AND p.partition_id= dbps.partition_id WHERE si.object_id = OBJECT_ID('[ŞEMA_ADI].[TABLO_ADI]') GROUP BY ds.NAME ,p.partition_number ,pf.NAME ,pf.type_desc ,pf.fanout ,pf.boundary_value_on_right ,ps.NAME ,si.object_id ,rv.value ORDER BY p.partition_number
Sorgumuzu çalıştırdığımızda tablomuzun partition yapısını görebiliriz.
FG2027 partition filegroup eklemek için ilk başta veritabanımızın altında ilgili yıla ait filegroup ve data file oluşturmamız gerekmektedir.
USE PartSamp ALTER DATABASE [PartSamp] ADD FILEGROUP [FG2027] Go ALTER DATABASE [PartSamp] ADD FILE ( NAME = N'FG2027', FILENAME = N'H:\PartSamp\PartSamp_2027.ndf' , SIZE = 8192KB , FILEGROWTH = 65536KB ) TO FILEGROUP [FG2027] Go
Filegroup ve data file oluşturduktan sonra şimdi ise bu filegroup’u partition yapıya dahil etme.
İlk başta ilgili veritabanımızın altındaki storage bölümünde scheme ve function bilgilerimize ve tarih aralığına bakıyoruz.
Yeni bir function ve scheme ekleme işlemlerini yaptıktan sonra tablomuzu tekrardan kontrol edelim.
Yukarıdaki resimdede görüldüğü gibi partition filegroup yapısının başarılı bir şekilde eklendiğini görmüş oluyoruz.
Bu makalede Partition yapıda oluşturulmuş bir tabloya yeni bir Function ve Scheme ekleme adımlarını görmüş olduk. Partitionla ilgili daha detaylı bilgiler almak için yunusyucel.com’u ziyaret edebilirsiniz. Partition – yunusyucel.com
0 Yorum