在得到一些不一致错误之后,我在我的数据库上做了一个check db并得到了一些独特的索引错误。试图找到重复的行,但是select查询只返回1个值。我现在完全不知道。这可能是什么问题?
Msg 1505,Level 16,State 1,Line 4 CREATE UNIQUE INDEX语句 终止,因为找到了对象名称的重复键 'dbo.INVENTTRANSPOSTING'和
索引名称'I_553DATEVOUCHERTRANSIDX'。重复的键值是 (5637144576,ers,2016年8月31日12:00 AM,SFT0017855,
22567183763,1)。
我用这些值查询表格,我只得到1条记录。
答案 0 :(得分:0)
IDENTITY种子可能有错误的值。例如,行的主键为“1”,表上的IDENTITY SEED也为“1”,然后新行的INSERT将尝试插入相同的主键值,这是不允许的。您可以通过以下方式获得IDENTITY SEED:
SELECT TABLE_SCHEMA, TABLE_NAME, IDENT_SEED(TABLE_SCHEMA + '.' + TABLE_NAME) AS IDENT_SEED, IDENT_CURRENT(TABLE_SCHEMA + '.' + TABLE_NAME) AS IdentCurrent
FROM INFORMATION_SCHEMA.TABLES
WHERE IDENT_SEED(TABLE_SCHEMA + '.' + TABLE_NAME) IS NOT NULL;
然后你应该将IDENTITY SEED设置为正确的值。