Проблемы
Предположим, что вы используете репликацию слиянием в Microsoft SQL Server 2012 или Microsoft SQL Server 2014. В рамках процесса синхронизации агент слияния создает новое поколение в сеансе. Если по какой-либо причине (например, взаимоблокировке или истечения времени ожидания) выделена транзакция создания, и выполняется откат транзакции, возможно, существует большая цепочка блокировки для MSinternal_makegeneration_inprog блокировки приложения в предстоящих случаях, и ранее упомянутый сеанс отображается как блочный блок.
Причина
Блокировка приложения, используемая для обеспечения безопасности процесса создания поколения, — это блокировка приложения на уровне сеанса. При обнаружении взаимоблокировки на этапе создания процесса выполняется откат только транзакции, но сеанс не вышел из системы. Чтобы освободить блокировку приложения на уровне сеанса, необходимо выйти из сеанса. Таким образом, из-за того, что в процессе создания репликации слиянием не будет выполнен выход из режима повторной работы сеанса, а при выполнении первого поколения произойдет сбой, блокировка сеанса (MSinternal_makegeneration_inprog) не будет освобождена во время отката транзакции. Это приводит к блокированию цепочек запросов на блокировку в процессе создания будущей версии. Заданный блочный блок — это запрос на получение первого поколения, который не проходит из взаимоблокировок. Перед тем как это исправление, SQL Server снимает блокировку для успешного создания процесса. После выхода из сеанса в случае возникновения взаимоблокировки приложение блокирует сеанс.
Решение
Эта проблема впервые устранена в следующем накопительном обновлении SQL Server.
Накопительное обновление 5 для SQL Server 2014 /en-us/help/3011055
Накопительное обновление 3 для SQL Server 2012 с пакетом обновления 2 (SP2) /en-us/help/3002049
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".