Как узнать, какие SQL-запросы блокируются и что их блокирует?
Я пытаюсь оптимизировать некоторые медленные веб-страницы, и я предполагаю, что проблема связана с блокировкой SQL (по-видимому, это не вопрос использования процессора или ввода-вывода на сервере или сервере базы данных). Каков самый быстрый способ узнать, какие запросы блокируются и какие запросы блокируют?
- Хранение пола (пол) в базе данных
- Было бы разумным иметь SQL-сервер для каждого веб-сервера?
- Выберите производительность
- Любое противопоказание использования хранимых процедур, выполняющих SELECT, UPDATE, INSTERT
- Некорректный подзапрос SQL Server очень медленный
- Лучший индекс для конкретного столбца часто фильтруется с помощью IS NULL?
- Производительность индекса SQL, что лучше?
- Выполнение двух левых объединений в сравнении с объединением
SELECT p1.SPID AS blockedSPID, p2.SPID AS blockingSPID, ... FROM master..sysprocesses p1 JOIN master..sysprocesses p2 ON p1.blocked = p2.spid
Ремус: Монитор активности может отключиться под нагрузкой сервера с ошибкой 1222
MS KB 224453 имеет много хорошего материала
Монитор активности
Как контролировать блокировку в SQL Server 2005 и SQL Server 2000
Очень хороший пост в блоге:
Получение информации о блокировке В SQL Server 2005 и 2008 простой способ