Проблема производительности SQL Server - PullRequest
0 голосов
/ 30 июня 2010

Имея следующую конфигурацию сервера sql.

  • ОС: Windows Server 2003
  • SQL Server 2005 Professional Edition с пакетом обновления 3
  • Service Broker включен
  • Есть запланированные задания, но для тестирования у меня отключен агент.

Когда пользователь не подключен, его загрузка ЦП увеличивается до 90%. Мне было интересно, что он делает внутренне.

Выполнен следующий оператор

select session_id,wait_duration_ms,wait_type,blocking_session_id,resource_description  from sys.dm_os_waiting_tasks

Показывает следующие данные

0x0084A208  3   0   395797  LOGMGR_QUEUE    0x027E4BC0  NULL    NULL    NULL    NULL
0x0084A2F8  5   0   6157360 KSOURCE_WAKEUP  NULL    NULL    NULL    NULL    NULL
0x0084A3E8  10  0   6162063 ONDEMAND_TASK_QUEUE 0x027FD760  NULL    NULL    NULL    NULL
0x0084A7A8  12  0   16  PAGEIOLATCH_EX  0x033CFCF8  NULL    NULL    NULL    2:1:158017
0x0084A5C8  13  0   1375547 BROKER_TRANSMITTER  NULL    NULL    NULL    NULL    NULL
0x0084A6B8  14  0   94  PAGEIOLATCH_SH  0x033C96D8  NULL    NULL    NULL    7:1:1473515
0x0084AA78  21  0   94  BROKER_TASK_STOP    NULL    NULL    NULL    NULL    NULL
0x0084A898  56  0   1359813 LCK_M_X 0x03C3F0E0  0x0084A6B8  14  0   databaselock subresource=FULL dbid=7 id=lock3bd3640 mode=U
0x008D84D8  4   0   1719    REQUEST_FOR_DEADLOCK_SEARCH 0x628B00AC  NULL    NULL    NULL    NULL
0x008D85C8  11  0   6161172 CHECKPOINT_QUEUE    0x027FB718  NULL    NULL    NULL    NULL
0x008D87A8  7   0   297 SQLTRACE_BUFFER_FLUSH   NULL    NULL    NULL    NULL    NULL
0x008D8898  9   0   1366563 BROKER_TRANSMITTER  NULL    NULL    NULL    NULL    NULL
0x008D8C58  15  0   94  BROKER_TASK_STOP    NULL    NULL    NULL    NULL    NULL
0x008D8D48  20  0   94  BROKER_TASK_STOP    NULL    NULL    NULL    NULL    NULL
0x008D8E38  51  0   0   OLEDB   NULL    NULL    NULL    NULL    NULL

Здесь в строке 8 написано подресурс базы данных = FULL dbid = 7 id = режим lock3bd3640 = U

1 Ответ

1 голос
/ 30 июня 2010

Я предполагаю, что ваш sql-сервер - это процесс, который потребляет весь процессор вашей системы.

У Глена Берри есть куча диагностических DMV-запросов, которые могут помочь вам в этой проблеме: http://glennberrysqlperformance.spaces.live.com/blog/cns!45041418ECCAA960!5538.entry

Дополнительно Adam Machanic имеет потрясающую хранимую процедуру (которая активна), которая может дать вам снимок запущенных / блокирующих процессов: http://whoisactive.com

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...