Как узнать, какие SQL-запросы блокируются и что их блокирует?

Я пытаюсь оптимизировать некоторые медленные веб-страницы, и я предполагаю, что проблема связана с блокировкой 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 простой способ

  • Эффективность SQL-сервера Datetime vs Int
  • SQL-запросы чрезвычайно медленны при обращении к первичному ключу
  • эксплуатационные издержки распределенных транзакций
  • Оценка требований IOPS к производственной системе SQL Server
  • Устранение неполадок производительности сервера sql
  • Производительность запросов комбинированного индекса по отношению к нескольким одиночным индексам по сравнению с полнотекстовым индексом
  • Как SQL Server обрабатывает инструкции SELECT в транзакционном INSERT?
  • Для типичной команды из 20 разработчиков .net, сколько разработчиков sql и DBA должны быть выделены?
  • Воздействие больших ненулевых столбцов в SQL Server
  • SQL Inline или Scalar Function?
  • Самый быстрый способ изменить тип данных столбца в SQL Server
  • Давайте будем гением компьютера.