在80M行索引表上运行插入查询时,MSG 666
奇怪的是,我的存储过程开始收到某些输入数据的消息666。 当存储过程尝试将行插入具有以下结构的表中时,存储过程在最后一步失败: Columns: A_Id: PK, int B_Id: PK, FK, int C_Id: PK, FK, int D_Id: PK, smallint 这实际上是一个将所有引用的实体连接在一起的表。 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) 两个索引的碎片率都很低(<25%)。但是,由于对表的操作量非常大,PK_TableName碎片迅速增加。 桌子尺寸: Row count: ~80,000,000 rows 因此,当我尝试运行简单的查询时,对于某些D_Id,我会收到以下消息: 消息666。对于分区ID为422223771074560的索引,超出了复制组的最大系统生成的唯一值。删除并重新创建索引可能会解决此问题;否则,请使用另一个群集密钥。 查询示例: INSERT INTO TableName …