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

Откуда: Київ
Сообщений: 59
Всем здрасте.
У MS SQL Servera, как оказалось сегодня для меня, есть такой баг - после перезагрузки сервера, автоинкремент увеличивается на 1000.
Может кто-то уже сталкивался и знает, как его побороть?
10 фев 17, 18:00    [20201584]     Ответить | Цитировать Сообщить модератору
 Re: автоинкремент  [new]
X-Cite
Member

Откуда: Минск
Сообщений: 1832
Потому что он кеширует для INT 1000, а для BIGINT 10000, при рестарте соответственно кеш теряетсяи появляется дырка.
https://connect.microsoft.com/SQLServer/feedback/details/739013/failover-or-restart-results-in-reseed-of-identity
http://stackoverflow.com/questions/14146148/identity-increment-is-jumping-in-sql-server-database
http://stackoverflow.com/questions/14162648/sql-server-2012-column-identity-increment-jumping-from-6-to-1000-on-7th-entry
10 фев 17, 18:08    [20201613]     Ответить | Цитировать Сообщить модератору
 Re: автоинкремент  [new]
AlesandraFioni
Member

Откуда: Київ
Сообщений: 59
X-Cite
Потому что он кеширует для INT 1000, а для BIGINT 10000, при рестарте соответственно кеш теряетсяи появляется дырка.
https://connect.microsoft.com/SQLServer/feedback/details/739013/failover-or-restart-results-in-reseed-of-identity
http://stackoverflow.com/questions/14146148/identity-increment-is-jumping-in-sql-server-database
http://stackoverflow.com/questions/14162648/sql-server-2012-column-identity-increment-jumping-from-6-to-1000-on-7th-entry


Спасибо!
Поставлю трейсфлаг, посмотрим что даст...
10 фев 17, 18:41    [20201676]     Ответить | Цитировать Сообщить модератору
 Re: автоинкремент  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37225
Если охота по-феншую, используйте сиквенс без кеширования. Правда, перфоманс будет УГ, да и в случае отката транзакции дырки будут.
10 фев 17, 18:48    [20201686]     Ответить | Цитировать Сообщить модератору
 Re: автоинкремент  [new]
AlesandraFioni
Member

Откуда: Київ
Сообщений: 59
AlesandraFioni
X-Cite
Потому что он кеширует для INT 1000, а для BIGINT 10000, при рестарте соответственно кеш теряетсяи появляется дырка.
https://connect.microsoft.com/SQLServer/feedback/details/739013/failover-or-restart-results-in-reseed-of-identity
http://stackoverflow.com/questions/14146148/identity-increment-is-jumping-in-sql-server-database
http://stackoverflow.com/questions/14162648/sql-server-2012-column-identity-increment-jumping-from-6-to-1000-on-7th-entry


Спасибо!
Поставлю трейсфлаг, посмотрим что даст...


трейсфлаг не помог:(
13 фев 17, 10:06    [20206189]     Ответить | Цитировать Сообщить модератору
 Re: автоинкремент  [new]
AlesandraFioni
Member

Откуда: Київ
Сообщений: 59
Гавриленко Сергей Алексеевич
Если охота по-феншую, используйте сиквенс без кеширования. Правда, перфоманс будет УГ, да и в случае отката транзакции дырки будут.


Перформанс УГ не катит в данном случае, к сожалению :)
Еще какие-нибудь варианты существуют?
13 фев 17, 10:07    [20206199]     Ответить | Цитировать Сообщить модератору
 Re: автоинкремент  [new]
iap
Member

Откуда: Москва
Сообщений: 47083
Появляется дырка, и что?
Кого парит? BIGINT надолго хватит.
13 фев 17, 10:38    [20206395]     Ответить | Цитировать Сообщить модератору
 Re: автоинкремент  [new]
AlesandraFioni
Member

Откуда: Київ
Сообщений: 59
iap
Появляется дырка, и что?
Кого парит? BIGINT надолго хватит.


Эти айдишники используются как номера заявок в почтовой рассылке, и немного глаза режет скачки нумерации, не критично, но режет:)
13 фев 17, 10:56    [20206490]     Ответить | Цитировать Сообщить модератору
 Re: автоинкремент  [new]
iap
Member

Откуда: Москва
Сообщений: 47083
AlesandraFioni
iap
Появляется дырка, и что?
Кого парит? BIGINT надолго хватит.


Эти айдишники используются как номера заявок в почтовой рассылке, и немного глаза режет скачки нумерации, не критично, но режет:)
Автоинкремент не предназначен для этой цели.
Это ваш косяк. Поле с нумерацией - это отдельная задача.
Например: https://social.technet.microsoft.com/wiki/ru-ru/contents/articles/10056.microsoft-sql-server.aspx
13 фев 17, 11:10    [20206570]     Ответить | Цитировать Сообщить модератору
 Re: автоинкремент  [new]
AlesandraFioni
Member

Откуда: Київ
Сообщений: 59
iap,

не совсем мой бок, программиста:)
по описанному по ссылке, наверное в данном случае овчинка выделки не стоит, но спасибо! :)
13 фев 17, 12:02    [20206827]     Ответить | Цитировать Сообщить модератору
 Re: автоинкремент  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 53105
AlesandraFioni
Эти айдишники используются как номера заявок в почтовой рассылке

"Почтовая рассылка" не выглядит как performance-critical система. Или вы там спам рассылаете миллионами в секунду?..
13 фев 17, 14:35    [20207690]     Ответить | Цитировать Сообщить модератору
 Re: автоинкремент  [new]
AlesandraFioni
Member

Откуда: Київ
Сообщений: 59
Dimitry Sibiryakov
AlesandraFioni
Эти айдишники используются как номера заявок в почтовой рассылке

"Почтовая рассылка" не выглядит как performance-critical система. Или вы там спам рассылаете миллионами в секунду?..


Нет, спамом не занимаемся
Просто это далеко не единственное, где эти айдишники используются. Но единственное, где режет глаз:)
13 фев 17, 16:20    [20208311]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить