Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Проблемы

При выполнении операций DDL, таких как CREATE INDEX или TRUNCATE TABLE в SQL Server 2016, операции могут быть заблокированы, если в той же базе данных выполняется другая транзакция DDL.

Решение

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

Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Мы рекомендуем вам загрузить и установить последние накопительные обновления для SQL Server.

Дополнительная информация

Когда DDL создает или удаляет таблицу или индекс, ему необходимо добавить или удалить идентификатор набора строк таблицы или индекса из sysrowsets, для которого требуется удержание блокировки на уровне строки X для записи. Если это делается внутри транзакции, в течение транзакции будет удерживаться блокировка X. Когда в компоненте «указатель» обнаружены буферы удаления с возможностью сброса, для обнаружения существующих таблиц или индексов необходимо перебрать по sysrowsets . Чтобы прочитать каждую строку из sysrowsets , она должна удерживать блокировку на уровне строки в записи, которая в данный момент читается. Процесс обнаружения останавливается при обнаружении первого набора строк, в котором он может работать. На этом этапе объект, являющийся кортежем, выполняет фактическую операцию очистки буфера удаления, но для того, чтобы убедиться, что обнаруженный набор строк по-прежнему является допустимым, он удерживает блокировку SCH-S на всех наборах строк, которые проверялись в процессе обнаружения, пока не завершит свою работу.Sysrowsets упорядочивается по идентификатору набора строк, поэтому это может случиться так, что Перевернутый объект передается на несколько существующих наборов строк, для которых он не имеет действия, но по-прежнему будет блокироваться с помощью SCH-S и приступает к записи в Sysrowsets, для которой не удается получить блокировку на уровне строки, так как в настоящее время она изменялась длительной операцией, На этом этапе DDLs, включающий изменение идентификатора набора строк, заблокированы на основе блокировок SCH-S для перемещения кортежа.

Статус

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

Ссылки

Ознакомьтесь с терминологией , которую корпорация Майкрософт использует для описания обновлений программного обеспечения.

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×