KB3021757 - ИСПРАВЛЕНО: Дублирование значения последовательности генерируется при параллельном запуске sp_sequence_get_range с функцией NEXT VALUE FOR

Применяется к
SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Проблема

Предположим, что объекты SEQUENCE определены в Microsoft SQL Server 2012 или SQL Server 2014. При параллельном выполнении sp_sequence_get_range системных хранимых процедур и функции NEXT VALUE FOR для одного и того же объекта последовательности (например, в разных параллельных соединениях или в многопоточных приложениях) создается дублирующее значение последовательности.

Причина

Эта проблема возникает из-за состояния гонки для системных хранимых процедур и функции NEXT FOR sp_sequence_get_range если они выполняются в одном и том же объекте SEQUENCE параллельно. Оба они считывают и записывают текущее значение генератора последовательностей. Однако между ними отсутствует корректный механизм синхронизации.

Решение

Сведения о пакете обновления

Чтобы устранить эту проблему, приобретите пакет обновления 1 для SQL Server 2014.

Дополнительные сведения о SQL Server 2014 с пакетом обновления 1 (SP1) см. в статье об ошибках, исправленных в SQL Server 2014 с пакетом обновления 1.

Эта проблема была впервые исправлена в следующем накопительном пакете обновления SQL Server.

Накопительный пакет обновления 6 для SQL Server 2014 г. /ru-us/help/3031047

Накопительный пакет обновления 4 для SQL Server 2012 с пакетом обновления 2 (SP2) /en-us/help/3007556

Сведения о накопительных обновлениях для SQL Server

Каждый новый накопительный пакет обновления для SQL Server содержит все исправления и исправления безопасности, которые входили в состав предыдущего накопительного пакета обновления. Ознакомьтесь с последними накопительными пакетами обновления для SQL Server:

      

Состояние

Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».