Экземпляр SQL Server выполняет медленно, при попытке выполнить трассировку клиентские события в экземпляре с помощью приложения SQL Profiler

Переводы статьи Переводы статьи
Код статьи: 929728 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Проблема

Рассмотрим описанную ниже ситуацию.:
  • У вас есть компьютер, на котором выполняется экземпляр сервера SQL Server 2000 или Microsoft SQL Server 2005.
  • Воспользуйтесь приложением SQL Profiler, чтобы выполнить трассировку клиентские события в экземпляре SQL Server.
  • Запуск приложения SQL Profiler на компьютере, на котором выполняется экземпляр SQL Server или запустите приложение SQL Profiler на другом компьютере.
В этом случае экземпляр SQL Server выполняется медленно.

При возникновении этой проблемы, можно заметить следующие проблемы, при запросеmaster.dbo.sysprocessesСистемная таблица в экземпляре SQL Server:
  • Отображение нескольких активного сервера процесс идентификаторы (SPID)0X404 (LATCH_EX)значениеwaittypeстолбец.
  • Один или несколько отображения SPIDПрофилировщик SQLзначениеназвание_программыстолбец.
Кроме того, появляется одно из следующих значений вwaitresourceстолбец при запросеmaster.dbo.sysprocessesСистемная таблица:
  • MISC (шестнадцатеричный адрес)
  • TRACE_CONTROLLER
  • TRACE_IO_SYNC
  • Trace
Появится одно из следующих значений при соблюдении следующих условий:
  • При использовании SQL Server 2000 с пакетом обновления 4 (SP4) или SQL Server 2005.
  • Идентификатор SPID ожидает выполнения операций синхронизации трассировки приложения SQL Profiler.

Причина

При запуске приложения SQL Profiler с экземпляром SQL Server 2000 или SQL Server 2005, каждый активный SPID экземпляра требует кратковременной блокировки монопольного доступа (LATCH_EX) для записи событий приложения SQL Profiler. Данный код сначала записывает событие в буфер локальной памяти. Затем событие передается SQL Profiler. При заполнении буфера локальной памяти, данный код удаляет событие. После передачи событий в буфере локальной памяти для приложения SQL Profiler данный код можно записывать новые события буфера локальной памяти. Если другие SPID, ожидающих записи событий приложения SQL Profiler, эти SPID ожидания в очереди.

Так как SQL Profiler представляет собой процесс, который отделен от процесса SQL Server, передается в приложение SQL Profiler каждое событие занимает некоторое время. При использовании приложения SQL Profiler на другом компьютере, этот процесс занимает больше времени. Этот процесс занимает больше времени, из-за задержки сети и из-за производительность компьютера, на котором запущено приложение SQL Profiler. Таким образом экземпляр SQL Server выполняется медленно.

Временное решение

Чтобы обойти эту проблему, не следует использовать приложение SQL Profiler для выполнения трассировки клиентские события в экземпляре SQL Server. Вместо этого используйте системные хранимые процедуры для выполнения трассировки событий на сервере.

Можно использовать следующие системные хранимые процедуры:
  • sp_trace_create
  • хранимую процедуру sp_trace_setevent
  • sp_trace_setfilter
  • sp_trace_setstatus
Для получения дополнительных сведений об этих системных хранимых процедур, поиск процедуры в документации по SQL Server 2000 или в документации по SQL Server 2005.

Статус

Корпорация Майкрософт подтверждает, что это проблема в продуктах Майкрософт, перечисленных в разделе «Применяется к»..

Дополнительная информация

Программа Коллекция PSSDIAG данных можно использовать для сбора данных файлов трассировки.Для получения дополнительных сведений о программе PSSDIAG коллекции данных щелкните следующий номер статьи базы знаний Майкрософт:
830232Программа Коллекция данных PSSDIAG
Для получения дополнительных сведений о столбце waittype в SQL Server 2000 и SQL Server 2005 щелкните следующий номер статьи базы знаний Майкрософт:
822101Описание waittype и lastwaittype столбцов в таблице master.dbo.sysprocesses в SQL Server 2000 и SQL Server 2005

Свойства

Код статьи: 929728 - Последний отзыв: 28 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Developer Edition
Ключевые слова: 
kbsql2005engine kbexpertiseadvanced kbtshoot kbprb kbmt KB929728 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:929728

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com