Partition Yapılmış Bir Tabloda Unique Index Oluşturmak

28 Tem by NURULLAH ÇAKIR

Partition Yapılmış Bir Tabloda Unique Index Oluşturmak

Partition Switch Yapılamıyor” isimli makalemizde switch partition yapabilmek için partition yapılmış tablodaki tüm index’lerin partition şema’ya göre align edilmesi gerektiğinden bahsetmiştik. Bahsi geçen makalede align işlemi sırasında ortaya aşağıdaki gibi bir script çıkmıştı.

 

USE [AdventureWorks2014_new]
GO
CREATE UNIQUE NONCLUSTERED INDEX [AK_SalesOrderDetail_rowguid] ON [Sales].[SalesOrderDetail]
(
[rowguid] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF,
DROP_EXISTING = ON, ONLINE = on, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PartSchema]([CarrierTrackingNumber])
GO

 

 

Bu script’i çalıştırdığımda aşağıdaki gibi hata aldım.

 

Bu hatada;

 

Eğer partition tabloda unique index oluşturmak istiyorsak index’in yanında partition yapılan kolonun’da olması gerektiği yazıyor.

 

Msg 1908, Level 16, State 1, Line 5

Column ‘CarrierTrackingNumber’ is partitioning column of the index ‘AK_SalesOrderDetail_rowguid’. Partition columns for a unique index must be a subset of the index key.

 

Script’i aşağıdaki gibi düzenleyerek yeniden çalıştırıyoruz. Burada CarrierTrackingNumber kolonu bizim partition yaptığımız kolon ismi.

USE [AdventureWorks2014_new]
GO
CREATE UNIQUE NONCLUSTERED INDEX [AK_SalesOrderDetail_rowguid] ON [Sales].[SalesOrderDetail]
(
[rowguid] ASC,CarrierTrackingNumber
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF,
DROP_EXISTING = ON, ONLINE = on, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PartSchema]([CarrierTrackingNumber])
GO

 

Partition oluşturmak ile ilgili detayları “Partition Oluşturmak” isimli makalede bulabilirsiniz.

 

Partition yapılmış tabloları ve detaylarını görmek için aşağıdaki makalelerden de faydalanabilirsiniz.

 

Veritabanında Partition Yapılmış Tabloları Bulmak“,

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

Loading

Bir yanıt yazın

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