Tuhaf bir şekilde, saklı yordam bazı girdi verileri için Msg 666 almaya başladı.
Aşağıdaki yapıya sahip bir tabloya satır eklemeye çalıştığında saklanan yordam son adımda başarısız olur:
Columns:
A_Id: PK, int
B_Id: PK, FK, int
C_Id: PK, FK, int
D_Id: PK, smallint
Bu esasen referans alınan tüm varlıkları birbirine bağlayan bir tablodur.
Indexes:
IX_TableName_D_id - Clustered index on D_id column
PK_TableName - Unique non-clustered index on all columns (A_Id, B_Id, C_Id, D_Id)
Her iki indeks için de parçalanma düşüktür (<% 25). Ancak PK_TableName parçalanması hızla büyür, çünkü masadaki işlem miktarı oldukça yoğundur.
Masa boyutu:
Row count: ~80,000,000 rows
Yani, bir veeery basit bir sorgu çalıştırmaya çalıştığınızda, bazı D_Id's için aşağıdaki iletiyi alıyorum:
Msg 666. 422223771074560 bölüm kimliğine sahip dizin için yinelenen bir grup için sistem tarafından oluşturulan benzersiz değer aşıldı. Dizinin düşürülmesi ve yeniden oluşturulması bu sorunu çözebilir; aksi halde başka bir kümeleme anahtarı kullanın.
Sorgu örneği:
INSERT INTO TableName
(A_Id,B_Id,C_Id,D_id)
VALUES (1,1,1,14)
Örneğin, bazı değerlere D_Id ayarladığımda - başarısız oluyor, örneğin '14'. D_ID değerini diğer değerlere (1,2,3, ... 13, 15,16, ...) ayarlarsam, sorgu düzgün çalışır.
Endekslerle ilgili gerçekten kötü bir şey olduğundan şüpheleniyorum ... Ama bunun altına inemiyorum ... :( Neden başarısız oluyor?

TRUNCATE TABLEbenzersizleştiricinin sıfırlanıp sıfırlanmadığını kontrol edebilir misiniz ?