Назад | Перейти на главную страницу

Как в SQL 2000 определить, какой процесс замедляет работу сервера

Sql Server 2000 исчерпан, и я не уверен, почему, но я считаю, что это может быть связано с тем, что выполнялся запрос или запросы, которые замедляют его. Есть ли способ определить, какой запрос вызвал замедление и в какое время?

Да, если у вас есть инструмент Enterprise Manager, вы можете с его помощью выполнить «трассировку профиля». Затем, после того, как вы отследили запросы, вы можете проанализировать данные вручную (собственными глазами) или использовать инструмент SQL Analyzer для фактического анализа отдельных запросов (с помощью Show Execution Plan ??) и получения подробной информации об их производительности. (это невозможно при использовании версий SQL Express или MSDE)

Быстрая проверка на блокировку - не уверен, где я это взял (может быть, К. Делани):

ЕСЛИ существует (выберите * из master.dbo.sysprocesses, где spid IN (выберите заблокирован из master.dbo.sysprocesses)) выберите spid, status, loginame = substring (loginame, 1,12), hostname = substring (hostname, 1,12 ), blk = CONVERT (char (3), blocked), dbname = substring (DB_NAME (dbid), 1,10), cmd, waittype from master.dbo.sysprocesses where spid in (select blocked from master.dbo.sysprocesses) и заблокировано = 0, иначе выберите "Процесс блокировки не найден"