#sql-server #sql-server-2008-r2 #ssms
#sql-server #sql-server-2008-r2 #ssms
Вопрос:
По какой-то странной причине при попытке получить доступ к последним 100 записям таблицы SQL Server MS останавливается и вращается, и для запроса результатов требуется вечность. Выбор первых 100 записей выполняется очень быстро (за 1 секунду). Есть идеи, что может происходить? Блокировка строки или что-то еще?
Это действительно кажется странным.
Спасибо.
Комментарии:
1. Я бы подумал, что блокировка строк. Вы можете легко подтвердить это, попробовав с помощью
nolock
подсказки или просмотревsys.dm_os_waiting_tasks
, пока запрос заблокирован.
Ответ №1:
Похоже, что другой pid имеет открытую транзакцию, удерживающую блокировки в таблице, которую вы пытаетесь прочитать.
В другом окне SSMS попробуйте запустить DBCC OPENTRAN
(посмотрите параметры, если это система с большим объемом.
Редактировать
1 к комментарию @Martin …. добавьте nolock
подсказку к вашему запросу для быстрого и грязного способа тестирования.
SELECT ID
FROM MyTable WITH (nolock)