Поделиться через


Программа SQLdiag

Область применения: SQL Server

Программа SQLdiag — это универсальная диагностическая программа для сбора сведений, которая может выполняться как консольное приложение или как служба. Вы можете использовать SQLdiag для сбора журналов и файлов данных из SQL Server и других типов серверов, а также для мониторинга серверов с течением времени или устранения конкретных проблем с серверами. SQLdiag предназначен для ускорения и упрощения сбора диагностических сведений для служб поддержки клиентов Майкрософт.

Примечание.

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

ПрограммаSQLdiag может собирать следующие типы диагностических сведений:

  • журналы производительности Windows;

  • журналы событий Windows;

  • Трассировки профилировщика SQL Server

  • Сведения о блокировке SQL Server

  • Сведения о конфигурации SQL Server

Вы можете указать, какие типы сведений нужно собирать с помощью программы SQLdiag , в файле конфигурации SQLDiag.xml, который описывается в следующем разделе.

Синтаксис

  
sqldiag   
     { [/?] }  
     |  
     { [/I configuration_file]  
       [/O output_folder_path]  
       [/P support_folder_path]  
       [/N output_folder_management_option]  
       [/M machine1 [ machine2 machineN]| @machinelistfile]  
       [/C file_compression_type]  
       [/B [+]start_time]  
       [/E [+]stop_time]  
       [/A SQLdiag_application_name]  
       [/T { tcp [ ,port ] | np | lpc } ]  
       [/Q] [/G] [/R] [/U] [/L] [/X] }  
     |  
     { [START | STOP | STOP_ABORT] }  
     |  
     { [START | STOP | STOP_ABORT] /A SQLdiag_application_name }  

Аргументы

/?
Отображает сведения об использовании.

/I configuration_file
Задает файл конфигурации, используемый программой SQLdiag . По умолчанию /I задает SQLDiag.Xml.

/O output_folder_path
Перенаправляет выходной поток программы SQLdiag в указанную папку. Если параметр /O не указан, выходной поток SQLdiag направляется во вложенную папку с именем SQLDIAG, расположенную в папке запуска SQLdiag . Если папки SQLDIAG не существует, программа SQLdiag попытается создать ее.

Примечание.

Расположение выходной папки задается относительно расположения папки поддержки, которое может быть определено параметром /P. Для установки абсолютно другого пути к выходной папке укажите полный путь каталога в параметре /O.

/P support_folder_path
Устанавливает путь к папке поддержки. По умолчанию параметр /P задает папку, в которой находится исполняемый файл SQLdiag . Папка поддержки содержит файлы поддержки SQLdiag , например XML-файл конфигурации, скрипты Transact-SQL и другие файлы, используемые программой во время сбора диагностических сведений. Если этот параметр будет использован для указания дополнительного пути к файлам поддержки, программа SQLdiag автоматически скопирует необходимые файлы поддержки в указанную папку, если их еще не существует.

Примечание.

Чтобы установить текущую папку в качестве пути к файлам поддержки, укажите %cd% в командной строке следующим образом:

SQLDIAG /P %cd%

/N output_folder_management_option
Определяет, должна ли программа SQLdiag при запуске перезаписывать или переименовывать выходную папку. Доступные варианты:

1 = Перезаписывает выходную папку (по умолчанию)

2 = при запуске программа SQLdiag переименовывает выходную папку в SQLDIAG_00001, SQLDIAG_00002 и так далее. После переименования текущей выходной папки программа SQLdiag выводит данные в папку по умолчанию SQLDIAG.

Примечание.

ПрограммаSQLdiag при запуске не добавляет данные в текущую выходную папку. Она может только перезаписать выходную папку по умолчанию (параметр 1) или переименовать папку (параметр 2), после чего производит вывод в новую выходную папку по умолчанию, имеющую имя SQLDIAG.

/M machine1 [ machine2 machineN] | @machinelistfile
Переопределяет параметр machines, указанный в файле конфигурации. По умолчанию файлом конфигурации является SQLDiag.Xml либо файл, заданный параметром /I . При определении более одного компьютера, разделяйте имена компьютеров пробелами.

Использование параметра @machinelistfile позволяет указать имя файла со списком компьютеров, который необходимо сохранить в файле конфигурации.

/C file_compression_type
Устанавливает тип сжатия файлов, используемый в файлах выходной папки программы SQLdiag . Доступные варианты:

0 = без сжатия (по умолчанию)

1 = использование сжатия NTFS

/B [+]start_time
Указывает дату и время начала сбора диагностических данных в следующем формате:

ГГГГММДД_ЧЧ:ММ:СС

Время указывается в 24-часовом формате. Например, время 2 часа после полудня должно указываться как 14:00:00.

Используйте + без даты (только ЧЧ:ММ:СС) для указания времени относительно текущей даты и времени. Например, если указать /B +02:00:00, то программа SQLdiag будет ждать 2 часа перед тем, как начать сбор сведений.

Не вставляйте символ пробела между + и указанным значением start_time.

Если указать время запуска, которое уже прошло, программа SQLdiag принудительно изменит дату запуска таким образом, что дата и время запуска будут находиться в будущем. Например, если указать /B 01:00:00 а текущее время — 08:00:00, то программа SQLdiag принудительно изменит дату запуска на следующий день.

Обратите внимание, что SQLdiag использует локальное время компьютера, на котором запущена программа.

/E [+]stop_time
Указывает дату и время остановки сбора диагностических данных в следующем формате:

ГГГГММДД_ЧЧ:ММ:СС

Время указывается в 24-часовом формате. Например, время 2 часа после полудня должно указываться как 14:00:00.

Используйте + без даты (только ЧЧ:ММ:СС), чтобы указать время относительно даты и времени запуска. Например, если время запуска и остановки указано как /B +02:00:00 /E +03:00:00, то SQLdiag будет ждать 2 часа перед тем, как начать сбор сведений, затем будет собирать сведения в течение 3 часов, прежде чем остановится и завершит работу. Если параметр /B не указан, программа SQLdiag начнет сбор диагностических сведений немедленно и закончит в момент, соответствующий дате и времени, указанным в параметре /E.

Не вставляйте символ пробела между + и указанным значением start_time или end_time.

Обратите внимание, что SQLdiag использует локальное время компьютера, на котором запущена программа.

/A SQLdiag_application_name
Включает выполнение нескольких экземпляров служебной программы SQLdiag в одном экземпляре SQL Server.

Каждое значение SQLdiag_application_name определяет другой экземпляр SQLdiag. Связь между экземпляром SQLdiag_application_name и именем экземпляра SQL Server не существует.

ПараметрSQLdiag_application_name может использоваться для запуска или остановки указанного экземпляра службы SQLdiag .

Например:

SQLDIAG START /A SQLdiag_application_name

Кроме того, он может использоваться с параметром /R для регистрации указанного экземпляра SQLdiag в качестве службы. Например:

SQLDIAG /R /A SQLdiag_application_name

Примечание.

ПрограммаSQLdiag автоматически добавляет префикс DIAG$ к имени экземпляра, указанному для SQLdiag_application_name. Это позволяет получить понятное имя службы при регистрации SQLdiag в качестве службы.

/T { tcp [ ,port ] | np | lpc }
Подключается к экземпляру SQL Server с помощью указанного протокола.

tcp [,port]
Протокол TCP/IP. Можно дополнительно определить порт для соединения.

np
Именованные каналы. По умолчанию экземпляр SQL Server прослушивает именованный канал \\.\pipe\sql\query и \\.\pipe\MSSQL$<instancename>\sql\query для именованного экземпляра. Невозможно подключиться к экземпляру SQL Server с помощью альтернативного имени канала.

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

/Q
Запускает SQLdiag в автоматическом режиме. Параметр/Q блокирует все запросы, например запросы на ввод пароля.

/G
Запускает SQLdiag в обычном режиме. Если указан параметр /G , при запуске SQLdiag не применяет проверки подключения SQL Server или убедитесь, что пользователь является членом предопределенной роли сервера sysadmin . Вместо этого SQLdiag запрашивает у Windows определение наличия у пользователя соответствующих прав для сбора каждого из запрашиваемых диагностических сведений.

Если параметр /G не указан, SQLdiag проверяет, является ли пользователь членом группы администраторов Windows и не собирает sql Server диагностика, если пользователь не является членом группы "Администраторы".

/R
Регистрирует программу SQLdiag в качестве службы. Все аргументы командной строки, указанные при регистрации SQLdiag в качестве службы, сохраняются при последующих запусках службы.

При регистрации SQLdiag в качестве службы имя службы по умолчанию — SQLDIAG. Изменить имя службы можно с помощью аргумента /A .

Для запуска службы используйте аргумент командной строки START :

SQLDIAG START

Также для запуска службы можно использовать команду net start :

net start SQLDIAG

/U
Отменяет регистрацию программы SQLdiag в качестве службы.

Кроме того, используйте аргумент /A , если нужно отменить регистрацию именованного экземпляра SQLdiag .

/L
Запускает программу SQLdiag в непрерывном режиме, когда, помимо прочего, указано время запуска или время остановки с помощью аргумента /B или /E , соответственно. ПрограммаSQLdiag автоматически перезапускается после того, как сбор диагностических сведений останавливается из-за запланированного завершения работы. Например, при использовании аргументов /E или /X .

Примечание.

ПрограммаSQLdiag не учитывает аргумент /L , если время запуска или остановки не указано с помощью аргументов командной строки /B и /E commи line arguments.

Параметр /L не подразумевает запуск в качестве службы. Чтобы использовать параметр /L при запуске SQLdiag в качестве службы, укажите его в командной строке при регистрации службы.

/X
Запускает SQLdiag в режиме моментального снимка. SQLdiag создает моментальный снимок всех настроенных диагностических сведений и автоматически завершает работу.

START | STOP | STOP_ABORT
Запускает или останавливает службу SQLdiag . ПараметрSTOP_ABORT вызывает максимально быстрое завершение работы службы, не дожидаясь окончания выполняемого в настоящий момент сбора диагностических сведений.

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

SQLDIAG START

Только аргумент /A , указывающий именованный экземпляр SQLdiag, может быть использован вместе со START, STOPили STOP_ABORT для управления определенным экземпляром службы SQLdiag . Например:

SQLDIAG START /A SQLdiag_application_name

Требования безопасности

Если SQLdiag не выполняется в универсальном режиме (указав аргумент командной строки /G), пользователь, который запускает SQLdiag, должен быть членом группы администраторов Windows и членом предопределенной роли сервера sysadmin SQL Server. По умолчанию SQLdiag подключается к SQL Server с помощью проверки подлинности Windows, но также поддерживает проверку подлинности SQL Server.

Performance Considerations (Приложения-функции Azure. Рекомендации по производительности)

Влияние выполнения SQLdiag на производительность зависит от типа собираемых диагностических данных. Например, если вы настроили SQLdiag для сбора сведений о трассировке SQL Server Profiler, тем больше классов событий вы выбираете трассировку, тем больше влияет производительность сервера.

Воздействие выполнения программы SQLdiag на производительность приблизительно равно сумме затрат на сбор диагностических сведений по отдельности. Например, сбор трассировки с помощью SQLdiag вызывает те же затраты на производительность, что и сбор данных с помощью SQL Server Profiler. Влияние программы SQLdiag на производительность незначительно.

Необходимое место на диске

Поскольку программа SQLdiag может собирать различные типы диагностических сведений, количество свободного места на диске, необходимого для выполнения SQLdiag , может различаться. Объем собранных диагностических сведений зависит от характера и объема рабочей нагрузки, которую обрабатывает сервер, и может меняться от нескольких мегабайтов до нескольких гигабайтов.

Файлы конфигурации

При запуске программа SQLdiag считывает файл конфигурации и указанные аргументы командной строки. Типы диагностических сведений, которые собирает программа SQLdiag , указываются в файле конфигурации. По умолчанию программа SQLdiag использует файл конфигурации SQLDiag.Xml, который извлекается каждый раз при запуске программы и расположен в папке запуска SQLdiag . Файл конфигурации использует схему XML SQLDiag_schema.xsd, которая также извлекается в каталог запуска программы из исполняемого файла каждый раз при выполнении SQLdiag .

Изменение файлов конфигурации

Чтобы изменить типы диагностических данных, собираемых программой SQLdiag , можно скопировать и изменить файл SQLDiag.Xml. При редактировании файла конфигурации всегда используется xml-редактор, который может проверить файл конфигурации в своей схеме XML, например Management Studio. Не следует непосредственно изменять файл SQLDiag.Xml. Вместо этого скопируйте файл SQLDiag.Xml в файл с новым именем в той же самой папке. Затем отредактируйте новый файл и используйте аргумент /I , чтобы передать его в программу SQLdiag.

Изменение файла конфигурации во время выполнения программы SQLdiag в качестве службы

Если программа SQLdiag уже запущена как служба и необходимо изменить файл конфигурации, отмените регистрацию службы SQLDIAG с помощью аргумента командной строки /U и повторно зарегистрируйте службу с помощью параметра командной строки /R . Отмена регистрации и повторная регистрация службы удаляют старые сведения о конфигурации, которые были сохранены в реестре Windows.

Выходная папка

Если выходная папка не была указана с помощью аргумента /O , программа SQLdiag создаст вложенную папку с именем SQLDIAG в папке запуска SQLdiag . Для сбора диагностических сведений, включающих трассировку больших объемов, например SQL Server Profiler, убедитесь, что выходная папка находится на локальном диске с достаточным объемом места для хранения запрошенных диагностических выходных данных.

После перезапуска программа SQLdiag перезаписывает содержимое выходной папки. Чтобы избежать этого, укажите в командной строке /N 2 .

Процесс сбора данных

При запуске программа SQLdiag выполняет начальные проверки, необходимые для сбора диагностических данных, указанных в файле SQLDiag.Xml. Этот процесс может занять несколько секунд. После того как программа SQLdiag начала сбор диагностических данных в консольном приложении, выводимые сообщения информируют о том, что SQLdiag начала сбор данных и остановить процесс можно, нажав CTRL + C. Если программа SQLdiag работает как служба, похожее сообщение будет записано в журнал событий Windows.

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

ПрограммаSQLdiag собирает большую часть диагностических данных параллельно. Все диагностические сведения собираются путем подключения к средствам, таким как служебная программа SQL Server sqlcmd или обработчик команд Windows, за исключением случаев, когда данные собираются из журналов производительности Windows и журналов событий. Для наблюдения за сбором диагностических данных с помощью таких средств программаSQLdiag использует один рабочий поток на компьютере, при этом часто несколько средств работают одновременно. В процессе сбора данных программа SQLdiag направляет выходной поток каждого средства диагностики в выходную папку.

Остановка сбора данных

После того как SQLdiag начнет сбор диагностических данных, он продолжает делать это, если не остановить его вручную с помощью CTRL+Cили создать sqldiag.stop файл или настроить его, чтобы остановиться в заданное время. Вы можете настроить SQLdiag для остановки в определенное время с помощью аргумента /E или с помощью аргумента /X, что приводит к выполнению SQLdiag в режиме моментального снимка.

При остановке SQLdiag останавливаются и все запущенные ею средства диагностики. Например, останавливается сбор трассировок приложения SQL Server Profiler, прекращается выполнение запущенных скриптов Transact-SQL и останавливаются любые процессы, порожденные программой во время сбора данных. После того как сбор диагностических данных закончен, SQLdiag завершает работу.

Остановка программы SQLdiag, выполняющейся в консольном приложении

Если программа SQLdiag запущена в виде консольного приложения, для ее остановки нажмите CTRL + C в окне консоли, в котором выполняется SQLdiag . После нажатия CTRL + C в окне консоли отобразится сообщение о том, что программа SQLdiag заканчивает сбор данных и нужно подождать, пока процесс завершится, что может занять несколько минут.

Нажмите Ctrl+C дважды, чтобы принудительно завершить все дочерние диагностические процессы и немедленно завершить приложение.

Остановка программы SQLdiag, выполняющейся в режиме службы

Если SQLdiag запущена как служба, выполните SQLDiag STOP в папке запуска SQLdiag , чтобы остановить ее. Кроме того, вы можете просто остановить службы SQLDiag в applet Services.msc.

Примечание.

Приостановка службы SQLdiag не поддерживается. Если вы попытаетесь приостановить службу SQLdiag , она остановится после того, как закончит сбор диагностических сведений, выполняемый в момент приостановки. Если перезапустить SQLdiag после ее остановки, она запустится и перезапишет выходную папку. Чтобы избежать перезаписи выходной папки, укажите в командной строке /N 2 .

Если на одном компьютере выполняется несколько экземпляров SQLdiag , для остановки службы в командной строке можно, помимо прочего, передать имя экземпляра SQLdiag . Например, чтобы остановить экземпляр SQLdiag с именем Instance1, используйте следующий синтаксис:

SQLDIAG STOP /A Instance1  

Примечание.

/A — единственный параметр командной строки, который может использоваться вместе со START, STOPили STOP_ABORT. Если нужно указать именованный экземпляр SQLdiag вместе с одной из команд управления службой, укажите /A в командной строке после команды управления, как показано в предыдущем примере синтаксиса. Если используются команды управления, они должны быть первыми аргументами в командной строке.

Чтобы остановить службу как можно быстрее, выполните в папке запуска программы команду SQLDIAG STOP_ABORT . Эта команда прерывает любой сбор диагностических данных, выполняемый в настоящее время, не ожидая его завершения.

Примечание.

Используйте SQLDiag STOP или SQLDIAG STOP_ABORT для остановки службы SQLdiag . Не используйте консоль служб Windows для остановки SQLdiag или других служб SQL Server.

Остановка SQLDiag с помощью файла sqldiag.stop

SQLDiag также завершит работу автоматически, когда он находит файл с именем sqldiag.stop в папке \Output программы. Этот параметр применяется независимо от того, работает ли SQLDiag в качестве консольного приложения или службы. Создание стоп-файла может оказаться полезным, если вы хотите программно завершить работу SQLDiag после какого-то события, но заранее не знаете время, когда это событие будет происходить. Содержимое sqldiag.stop файла не имеет значения. Один из вариантов, кроме создания файла вручную, заключается в том, чтобы использовать команду, как показано ниже в пакетном файле для создания sqldiag.stop:

ECHO abc > F:\PSSDIAG\Output\sqldiag.stop

Другой вариант — использовать PowerShell

Set-Content -Value "stop please" -Path "G:\pssdiag\output\sqldiag.stop"

Автоматический запуск и остановка SQLdiag

Чтобы автоматически запускать и останавливать сбор диагностических данных в указанное время, используйте аргументы /Bstart_time и /Estop_time в 24-часовом формате времени. Например, если нужно устранить неполадку, которая регулярно происходит приблизительно в 02:00:00, можно настроить SQLdiag для автоматического сбора диагностических данных начиная с 01:45:00 и заканчивая 03:00:00. Укажите аргументы /B и /E , чтобы указать время запуска и остановки. Используйте 24-часовой формат времени, чтобы указать точную дату и время запуска и остановки в общем формате ГГГГММДД_ЧЧ:ММ:СС. Следующий фрагмент запустит сбор данных в 01:45 и остановит его в 03:00.

sqldiag /B 01:45:00 /E 03:00:00  

Чтобы указать относительные значения времени запуска или остановки, дополните их префиксом + и удалите сегмент даты (YYYYMMDD_), как показано в следующем примере. В этом случае SQLdiag будет ждать 1 час, прежде чем начать сбор информации, затем будет собирать сведения в течение 2,5 часов и после этого завершит работу:

sqldiag /B +01:00:00 /E +02:30:00  

Если указано относительное start_time , SQLdiag запустится в момент времени, вычисляемый относительно текущей даты и времени. Если указано относительное end_time , SQLdiag завершит работу в момент времени, вычисляемый относительно указанного start_time. Если указать время запуска или окончания, которое уже прошло, SQLdiag принудительно изменит дату запуска таким образом, что дата и время запуска будут находиться в будущем.

В силу этой особенности выбираемые даты запуска и завершения работы имеют большое значение. Рассмотрим следующий пример:

sqldiag /B +01:00:00 /E 08:30:00  

Если текущее время — 08:00, время завершения работы наступит прежде, чем начнется сбор диагностических данных. Так как SQLDiag автоматически переносит прошлые даты начала и окончания на следующий день. В этом примере диагностический сбор начинается в 09:00 сегодня (относительное время начала указано через 1 час с настоящего момента с использованием +) и продолжается до 08:30 следующего утра.

Остановка и перезапуск SQLdiag для сбора ежедневных диагностических сведений

Для сбора указанного набора диагностических сведений ежедневно, без запуска и остановки SQLdiagвручную, используйте аргумент /L . Аргумент /L вызывает выполнение SQLdiag в непрерывном режиме с автоматическим перезапуском после запланированного завершения. Если указан аргумент /L , а программа SQLdiag останавливается, так как наступило время завершения работы, указанное в аргументе /E , или программа выполнялась в режиме моментального снимка, заданном аргументом /X , то SQLdiag перезапустится вместо завершения работы.

В следующем примере указано, что SQLdiag запускается в непрерывном режиме для автоматического перезапуска после сбора диагностических данных, происходящего между 03:00:00 и 05:00:00.

sqldiag /B 03:00:00 /E 05:00:00 /L  

В следующем примере указано, что SQLdiag запускается в непрерывном режиме для автоматического перезапуска после создания моментального снимка диагностических данных в 03:00:00.

sqldiag /B 03:00:00 /X /L  

Работа программы SQLdiag в качестве службы

Если вы хотите использовать SQLdiag для сбора диагностических данных в течение длительных промежутков времени, во время которых может понадобиться выходить из системы компьютера, на котором выполняется SQLdiag , можно запустить ее как службу.

Регистрация программы SQLDiag для запуска в качестве службы

Программу SQLdiag можно зарегистрировать для запуска в качестве службы, указав в командной строке аргумент /R . Таким образом, SQLDiag регистрируется для запуска в качестве службы. Имя службы SQLdiag — SQLDIAG. Любые другие аргументы, указанные в командной строке при регистрации SQLdiag в качестве службы, сохраняются и используются всякий раз при запуске службы.

Чтобы изменить имя службы по умолчанию SQLDIAG, используйте параметр командной строки /A и укажите другое имя. ПрограммаSQLdiag автоматически добавляет префикс DIAG$ к любому имени экземпляра SQLdiag , указанному с помощью /A , чтобы получить понятное имя службы.

Отмена регистрации службы SQLDIAG

Чтобы отменить регистрацию службы, укажите аргумент /U . При отмене регистрации программы SQLdiag в качестве службы из реестра Windows удаляются разделы реестра этой службы.

Запуск или перезапуск службы SQLDIAG

Чтобы запустить или перезапустить службу SQLDIAG, запустите в командной строке SQLDiag START .

Если работает несколько экземпляров SQLdiag , при запуске службы с помощью аргумента /A в командной строке можно передать имя экземпляра SQLdiag . Например, чтобы запустить экземпляр SQLdiag с именем Instance1, используйте следующий синтаксис:

SQLDIAG START /A Instance1  

Также для запуска службы SQLDIAG можно использовать команду net start .

Во время перезапуска программы SQLdiagона перезаписывает содержимое текущей выходной папки. Чтобы избежать этого, укажите в командной строке /N 2 , чтобы переименовать выходную папку при запуске программы.

Приостановка службы SQLdiag не поддерживается.

Работа нескольких экземпляров программы SQLdiag

Запустить несколько экземпляров программы SQLdiag на одном компьютере можно, указав в командной строке /ASQLdiag_application_name . Это полезно для сбора различных наборов диагностика одновременно из одного экземпляра SQL Server. Например, именованный экземпляр SQLdiag можно настроить на непрерывное выполнение сбора небольшого количества данных. Затем, если на SQL Server возникает определенная проблема, можно запустить экземпляр SQLdiag по умолчанию, чтобы собрать диагностика для этой проблемы, или собрать набор диагностика, которые службы поддержки клиентов Майкрософт попросили собраться для диагностики проблемы.

Сбор диагностических данных из кластеризованных экземпляров SQL Server

SQLdiag поддерживает сбор диагностических данных из кластеризованных экземпляров SQL Server. Для сбора диагностических данных из кластеризованных экземпляров SQL Server убедитесь, что в качестве атрибута name элемента <Machine> в файле конфигурации SQLDiag.Xml указан символ ".", и не указывайте аргумент командной строки /G. По умолчанию для атрибута name в файле конфигурации указывается символ "." , а аргумент /G отключен. Как правило, не нужно изменять файл конфигурации или изменять аргументы командной строки при сборе из кластеризованного экземпляра SQL Server.

Когда "." указывается в качестве имени компьютера, SQLdiag обнаруживает, что он работает в кластере, и одновременно извлекает диагностические сведения из всех виртуальных экземпляров SQL Server, установленных в кластере. Если нужно собрать диагностические сведения только с одного виртуального экземпляра SQL Server, выполняемого на компьютере, укажите этот виртуальный экземпляр SQL Server в качестве атрибута name элемента <Machine> в файле SQLDiag.Xml.

Примечание.

Чтобы собрать данные трассировки SQL Server Profiler из кластеризованных экземпляров SQL Server, в кластере необходимо включить административные общие папки (ADMIN$).

См. также

Справка программы командной строки (ядро СУБД)