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/

Другие вопросы по тегам