SQLSERVER Identity Column Значения Прыжки на миллионы
У меня есть таблица со столбцом int идентичности, и он пропускает идентификатор в тысячах время от времени. Поиски показывают, что это нормально для сервера sql, чтобы пропустить его на 1000 или 1001, но мой иногда увеличивается на 20000 или более, но в прошлый раз он прыгнул на 95216000.
Невозможно найти причину, по которой это происходит, проверьте SQL Server на наличие журналов сбоев и любых других подозрительных событий, но не повезло.
Имея репликацию на таблицу, это связано..??
Создать табличный скрипт как..
CREATE TABLE [dbo].[Table](
[CId] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
.
.
.
CONSTRAINT [PK_Table] PRIMARY KEY CLUSTERED
(
[CId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80) ON [PRIMARY]
) ON [PRIMARY]
GO
2 ответа
Вы проверили значения для этого
SELECT IDENT_SEED(TABLE_NAME) AS Seed,
IDENT_INCR(TABLE_NAME) AS Increment,
IDENT_CURRENT(TABLE_NAME) AS Current_Identity,
TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE OBJECTPROPERTY(OBJECT_ID(TABLE_NAME), 'YourTableName') = 1
AND TABLE_TYPE = 'BASE TABLE'
Также случайно вы усекли данные в таблицу?
Пожалуйста, обратитесь по этой ссылке, чтобы найти причину пробелов.
http://sqlity.net/en/792/the-gap-in-the-identity-value-sequence/