Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Передвинулись identity почти во всех таблицах БД !!!  [new]
LightN
Member

Откуда:
Сообщений: 163
Передвинулись identity почти во всех таблицах БД !!! Что это может быть?
Некоторые таблицы не пострадали, а в некоторых (их большенство) identity перепрыгнул на 1000 или 999 или 998 ...
Что же это может быть?
19 май 17, 16:52    [20497111]     Ответить | Цитировать Сообщить модератору
 Re: Передвинулись identity почти во всех таблицах БД !!!  [new]
Rankatan
Member

Откуда:
Сообщений: 217
LightN
Передвинулись identity почти во всех таблицах БД !!! Что это может быть?
Некоторые таблицы не пострадали, а в некоторых (их большенство) identity перепрыгнул на 1000 или 999 или 998 ...
Что же это может быть?


Была транзакция которая откатилась.
19 май 17, 16:57    [20497114]     Ответить | Цитировать Сообщить модератору
 Re: Передвинулись identity почти во всех таблицах БД !!!  [new]
o-o
Guest
рестарт сервера был, и версия у него >= 2012
19 май 17, 17:01    [20497126]     Ответить | Цитировать Сообщить модератору
 Re: Передвинулись identity почти во всех таблицах БД !!!  [new]
LightN
Member

Откуда:
Сообщений: 163
Rankatan,
В БД более 160 таблиц. Почти во всех поплыл (перескочил) счётчик примерно на 1000.
Таблица связаны по 2-3-10 штук друг с другом блоками. Логически эти блоки не связаны друг с другом ...
Как такое может быть?
19 май 17, 17:06    [20497145]     Ответить | Цитировать Сообщить модератору
 Re: Передвинулись identity почти во всех таблицах БД !!!  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 34861
LightN
Rankatan,
В БД более 160 таблиц. Почти во всех поплыл (перескочил) счётчик примерно на 1000.
Таблица связаны по 2-3-10 штук друг с другом блоками. Логически эти блоки не связаны друг с другом ...
Как такое может быть?
Это вас как-то напрягает?
19 май 17, 17:09    [20497152]     Ответить | Цитировать Сообщить модератору
 Re: Передвинулись identity почти во всех таблицах БД !!!  [new]
LightN
Member

Откуда:
Сообщений: 163
o-o,
Да, рестарт сервера был, и версия у него = 2012.
Накладные перескачили на 998 штук ... т.е. очень напрягает.
Это глюк рестарта?
19 май 17, 17:13    [20497166]     Ответить | Цитировать Сообщить модератору
 Re: Передвинулись identity почти во всех таблицах БД !!!  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 34861
LightN
o-o,
Да, рестарт сервера был, и версия у него = 2012.
Накладные перескачили на 998 штук ... т.е. очень напрягает.
А нефиг делать нумерацию документов на основании identity.
19 май 17, 17:14    [20497171]     Ответить | Цитировать Сообщить модератору
 Re: Передвинулись identity почти во всех таблицах БД !!!  [new]
LightN
Member

Откуда:
Сообщений: 163
Гавриленко Сергей Алексеевич
LightN
o-o,
Да, рестарт сервера был, и версия у него = 2012.
Накладные перескачили на 998 штук ... т.е. очень напрягает.
А нефиг делать нумерацию документов на основании identity.

И вам спапсибо за содержательные слова, а главное полезные и к месту.
19 май 17, 17:20    [20497192]     Ответить | Цитировать Сообщить модератору
 Re: Передвинулись identity почти во всех таблицах БД !!!  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 25445
LightN
Это глюк рестарта?
Это он так работает, глюком не считается, документировано.
Если вас это не устраивает, можно отключить, но с потерями.
БОЛ
Consecutive values after server restart or other failures –SQL Server might cache identity values for performance reasons and some of the assigned values can be lost during a database failure or server restart. This can result in gaps in the identity value upon insert. If gaps are not acceptable then the application should use its own mechanism to generate key values.

LightN
Гавриленко Сергей Алексеевич
А нефиг делать нумерацию документов на основании identity.
И вам спапсибо за содержательные слова, а главное полезные и к месту.

Вам человек дал полезный, содержательный совет по проектированию, запомните его и применяйте. Откуда негатив, не пойму? Даже если совет не к месту, он всё равно полезен, на будущее.
19 май 17, 17:27    [20497215]     Ответить | Цитировать Сообщить модератору
 Re: Передвинулись identity почти во всех таблицах БД !!!  [new]
o-o
Guest
начиная с 2012-ого переделали реализацию identity, кэшат его теперь,
для int-а как раз 1000 и есть значение кэша.
можно вернуть прежнее поведение, включив флаг 272.
типа скорость пострадает, да.
будет в лог скидывать не каждое 1000-ое значение, а вообще каждое.
гуглите на sql server identity cache, я щас ссылку не дам, бегом потому что
19 май 17, 17:30    [20497221]     Ответить | Цитировать Сообщить модератору
 Re: Передвинулись identity почти во всех таблицах БД !!!  [new]
LightN
Member

Откуда:
Сообщений: 163
o-o,
Понял, спасибо!
19 май 17, 17:33    [20497237]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить