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


Программа ssbdiagnose

Программа ssbdiagnose сообщает о неполадках в диалогах компонента Service Broker или в конфигурации служб компонента Service Broker. Проверка конфигурации может быть выполнена для одной или для двух служб. Сведения о неполадках могут выводиться в окно командной строки в виде удобочитаемого текста или в формате XML, который может быть перенаправлен в файл или в другую программу.

Синтаксис

ssbdiangose 
[ [ -XML ]
    [ -LEVEL { ERROR | WARNING | INFO } ]
  [-IGNORE error_id ] [ ...n]
    [ <baseconnectionoptions> ]
  { <configurationreport> | <runtimereport> }
]
| -?

<configurationreport> ::=
    CONFIGURATION
  { [ FROM SERVICE service_name
      [ <fromconnectionoptions> ]
      [ MIRROR <mirrorconnectionoptions> ]
    ]
    [ TO SERVICE service_name[, broker_id ]
      [ <toconnectionoptions> ]
      [ MIRROR <mirrorconnectionoptions> ]
    ]
  }
    ON CONTRACT contract_name
  [ ENCRYPTION { ON | OFF | ANONYMOUS } ]

<runtime_report> ::=
    RUNTIME
    [-SHOWEVENTS ]
        [ -NEW
         [ -ID { conversation_handle
                | conversation_group_id
                 | conversation_id
                  }
        ] [ ...n]
        ]
    [ -TIMEOUT timeout_interval ]
    [ <runtimeconnectionoptions> ]

<baseconnectionoptions> ::=
  <connectionoptions>

<fromconnectionoptions> ::=
  <connectionoptions>

<toconnectionoptions> ::=
  <connectionoptions>

<mirrorconnectionoptions> ::=
  <connectionoptions>

<runtimeconnectionoptions> ::=
  [ CONNECT TO <connectionoptions> ] [ ...n]

<connectionoptions> ::=
    [ –E | { -U login_id [ -P password ] } ]
  [ -S server_name[\instance_name] ]
  [ -d database_name ]
  [ -l login_timeout ]

Параметры командной строки

  • -XML
    Указывает, что программа ssbdiagnose выводит результаты в виде форматированного XML-кода, который может быть перенаправлен в файл или в другое приложение. Если параметр -XML не задан, то программа ssbdiagnose выводит результат в виде удобочитаемого текста.

  • -LEVEL { ERROR | WARNING | INFO}
    Определяет, какие типы сообщений включаются в отчет.

    ERROR: только сообщения об ошибке.

    WARNING: сообщения об ошибках и предупреждения.

    INFO: ошибки, предупреждения и информационные сообщения.

    Значение по умолчанию — WARNING.

  • -IGNOREerror_id
    Указывает, что ошибки и сообщения, имеющие заданное значение error_id, не будут включены в отчет. Параметр -IGNORE можно указать несколько раз, чтобы запретить вывод сообщений с различными идентификаторами. Дополнительные сведения см. в разделе Справочник по ошибкам и событиям (компонент Service Broker).

  • <baseconnectionoptions>
    Задает основные сведения о соединении, которые используются программой ssbdiagnose, если параметры соединения не включены в конкретное предложение. Сведения о соединении, заданные в предложении, имеют больший приоритет, чем указанные в параметре baseconnectionoptions. Приоритеты учитываются по каждому параметру отдельно. Например, если в baseconnectionoptions заданы параметры -S и -d, а в toconnectionoptions задан только параметр -d, то программа ssbdiagnose будет использовать параметр -S из baseconnectionoptions и параметр -d из toconnectionoptions.

  • CONFIGURATION
    Запрашивает вывод отчета об ошибках конфигурации для одной службы или для пары служб компонента Service Broker.

  • FROM SERVICEservice_name
    Указывает службу, которая является инициатором диалога.

  • <fromconnectionoptions>
    Задает сведения, необходимые для соединения с базой данных, в которой находится вызывающая служба. Если параметр fromconnectionoptions не указан, то программа ssbdiagnose будет использовать для соединения с инициирующей базой данных сведения из параметра baseconnectionoptions. Если параметр fromconnectionoptions задан, то в нем необходимо указать базу данных, в которой содержится вызывающая служба. Если параметр fromconnectionoptions не задан, то инициирующая база данных должна быть задана в параметре baseconnectionoptions.

  • TO SERVICEservice_name[, broker_id ]
    Указывает целевую службу для диалогов.

    service_name: задает имя целевой службы.

    broker_id: задает идентификатор компонента Service Broker, определяющий целевую базу данных (broker_id является идентификатором GUID). Чтобы выяснить этот идентификатор, можно выполнить в целевой базе данных следующий запрос.

    SELECT service_broker_guid
    FROM sys.databases
    WHERE database_id = DB_ID();
    
  • <toconnectionoptions>
    Задает сведения, необходимые для соединения с базой данных, где размещается целевая служба. Если параметр toconnectionoptions не указан, то программа ssbdiagnose будет использовать для соединения с целевой базой данных сведения из параметра baseconnectionoptions.

  • MIRROR
    Указывает, что связанная служба компонента Service Broker размещается в зеркальной базе данных. Программа ssbdiagnose проверяет, является ли маршрут к службе зеркальным маршрутом, где в инструкции CREATE ROUTE был указан параметр MIRROR_ADDRESS.

  • <mirrorconnectionoptions>
    Позволяет задать сведения, необходимые для соединения с зеркальной базой данных. Если параметр mirrorconnectionoptions не задан, то программа ssbdiagnose будет использовать для соединения с зеркальной базой данных сведения из параметра baseconnectionoptions.

  • ON CONTRACTcontract_name
    Запрашивает для программы ssbdiagnose проверку только для конфигураций, использующих определенный контракт. Если параметр ON CONTRACT не задан, то программа ssbdiagnose выдает отчет для контракта с именем DEFAULT.

  • ENCRYPTION { ON | OFF | ANONYMOUS }
    Запрашивает проверку правильности настройки диалога для заданного уровня шифрования.

    ON: значение по умолчанию. Настраивается полная защита диалога. На обеих сторонах диалога производится развертывание сертификатов, присутствует привязка удаленной службы, а в инструкции GRANT SEND для целевой службы указывается вызывающий пользователь.

    OFF: защита диалога не настраивается. Развертывание сертификатов не производится, не создается привязка удаленной службы, а в инструкции GRANT SEND для вызывающей службы указывается роль public.

    ANONYMOUS: настраивается защита диалога для анонимной работы. Развертывание сертификатов не производится, не создается привязка удаленной службы, а в инструкции GRANT SEND для вызывающей целевой службы указывается роль public.

    Дополнительные сведения см. в разделе Обеспечение безопасности диалогов компонента Service Broker.

  • RUNTIME
    Запрашивает отчет о проблемах, вызывающих ошибки времени выполнения в диалоге компонента Service Broker. Если не указан ни параметр -NEW, ни параметр -ID, то программа ssbdiagnose наблюдает за всеми диалогами во всех базах данных, указанных в параметрах соединения. Если указан параметр -NEW или -ID, то программа ssbdiagnose формирует список идентификаторов, указанных в этих параметрах.

    Во время работы программа ssbdiagnose записывает все события приложения Приложение SQL Server Profiler, которые указывают на ошибки времени выполнения. Регистрируются события, происходящие для заданных идентификаторов, а также события системного уровня. Если обнаружены ошибки времени выполнения, то программа ssbdiagnose запускает отчет по связанной конфигурации.

    По умолчанию в ошибки времени выполнения в выходной отчет не включаются. Отчет содержит только результаты анализа конфигурации. Чтобы включить в отчет ошибки времени выполнения, укажите параметр -SHOWEVENTS.

  • -SHOWEVENTS
    Указывает, что при создании отчета RUNTIME программа ssbdiagnose включает в него события приложения Приложение SQL Server Profiler. В отчет включаются только те события, которые считаются ошибками. По умолчанию программа ssbdiagnose наблюдает за событиями, сигнализирующими об ошибках, но не включает их в выходной отчет.

  • -NEW
    Запрашивает наблюдение за первым диалогом, который запускается после начала работы программы ssbdiagnose.

  • -ID
    Запрашивает отслеживание выполнения указанных элементов диалога. Параметр -ID может быть указан несколько раз.

    Если указан дескриптор диалога, то в отчет будут включены только те события, которые связаны с соответствующей конечной точкой диалога. Если указан идентификатор диалога, то в отчет будут включены все события для этого диалога и его вызывающей и целевой конечных точек. Если задан идентификатор группы сообщений, то в отчет будут включены все события для всех диалогов и конечных точек в этой группе сообщений.

  • conversation_handle
    Уникальный идентификатор, определяющий конечную точку диалога в приложении. Дескрипторы диалога уникальны для одной конечной точки диалога. Вызывающая и целевая конечные точки имеют различные дескрипторы диалога.

    Дескрипторы диалога возвращаются в приложение через параметр @dialog\_handle при выполнении инструкции BEGIN DIALOG или в столбце conversation_handle результирующего набора инструкции RECEIVE.

    В отчете дескрипторы диалога находятся в столбце conversation_handle представлений каталога sys.transmission_queue и sys.conversation_endpoints.

  • conversation_group_id
    Уникальный идентификатор, определяющий группу сообщений.

    Идентификаторы группы сообщений возвращаются в приложение через параметр @conversation\_group\_id инструкции GET CONVERSATION GROUP и через столбец conversation_group_id результирующего набора инструкции RECEIVE.

    В отчете идентификаторы групп сообщений находятся в столбце conversation_group_id представлений каталога sys.conversation_groups и sys.conversation_endpoints.

  • conversation_id
    Уникальный идентификатор, определяющий диалог. Для вызывающей и целевой конечных точек диалога идентификаторы диалога совпадают.

    В отчете идентификаторы диалога находятся в столбце conversation_id представления каталога sys.conversation_endpoints.

  • -TIMEOUTtimeout_interval
    Задает время выполнения отчета RUNTIME в секундах. Если параметр -TIMEOUT не задан, то отчет может выполняться бесконечно долго. Параметр -TIMEOUT используется только для отчетов RUNTIME (для отчетов CONFIGURATION не используется). Завершение работы программы ssbdiagnose, когда не задан параметр -TIMEOUT, а также завершение отчета времени выполнения до истечения времени ожидания производятся по нажатию сочетания клавиш CTRL+C. Параметр timeout_interval должен быть числом в диапазоне от 1 до 2 147 483 647.

  • <runtimeconnectionoptions>
    Задает сведения для соединения с базой данных, где содержатся службы, связанные с отслеживаемыми элементами диалога. Если все службы расположены в одной базе данных, нужно указать только одно предложение CONNECT TO. Если службы находятся в разных базах данных, то необходимо для каждой из них указать предложение CONNECT TO. Если параметр runtimeconnectionoptions не задан, то программа ssbdiagnose использует данные для соединения из параметра baseconnectionoptions.

  • –E
    Открывает соединение с экземпляром компонента Database Engine, применяя текущую учетную запись Windows в качестве идентификатора входа для проверки подлинности Windows. Имя входа должно быть членом предопределенной роли сервера sysadmin.

    Параметр -E не учитывает имя пользователя и пароль, заданные в переменных среды SQLCMDUSER и SQLCMDPASSWORD.

    Если не указан ни параметр -E, ни параметр -U, то программа ssbdiagnose будет пользоваться значением переменной среды SQLCMDUSER. Если переменная SQLCMDUSER также не задана, то программа ssbdiagnose применяет проверку подлинности Windows.

    Если параметр -E указан одновременно с параметром -U или -P, выдается сообщение об ошибке.

  • -Ulogin_id
    Открывает соединение с использованием заданного идентификатора входа для проверки подлинности SQL Server. Имя входа должно быть членом предопределенной роли сервера sysadmin.

    Если не задан ни параметр -E, ни параметр -U, то программа ssbdiagnose использует значение из переменной среды SQLCMDUSER. Если переменная SQLCMDUSER также не задана, то программа ssbdiagnose пытается установить соединение в режиме проверки подлинности Windows на основании учетных данных Windows пользователя, запустившего программу ssbdiagnose.

    Если параметр -U указан одновременно с параметром -E, то выдается сообщение об ошибке. Если вслед за параметром -U указано несколько аргументов, выдается сообщение об ошибке и программа завершает работу.

  • -Ppassword
    Задает пароль для имени входа, указанного в параметре -U. В паролях учитывается регистр. Если параметр -U указан, а параметра -P не указан, то программа ssbdiagnose использует значение из переменной среды SQLCMDPASSWORD. Если переменная SQLCMDPASSWORD также не задана, то программа ssbdiagnose запросит пароль у пользователя.

    Примечание по безопасностиПримечание по безопасности

    Пароль, набираемый при вводе команды SET SQLCMDPASSWORD, будет отображаться на экране в открытом виде.

    Если параметр -P задан, а пароль не указан, то программа ssbdiagnose использует пароль по умолчанию (NULL).

    Примечание по безопасностиПримечание по безопасности

    Не используйте пустые пароли. Выбирайте надежные пароли. Дополнительные сведения см. в разделе Надежные пароли.

    Запрос на ввод пароля выводится на консоль следующим образом: Password:

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

    Если параметр -P указан одновременно с параметром -E, выдается сообщение об ошибке.

    Если после параметра -P указано несколько аргументов, то выдается сообщение об ошибке.

  • -Sserver_name[\instance_name]
    Задает экземпляр компонента Database Engine, где размещаются службы компонента Service Broker для анализа.

    Укажите значение server_name, чтобы соединиться с экземпляром компонента Database Engine по умолчанию на этом сервере. Укажите server_name**\**instance_name , чтобы соединиться с именованным экземпляром компонента Database Engine на этом сервере. Если параметр -S не задан, то программа ssbdiagnose использует значение из переменной среды SQLCMDSERVER. Если переменная SQLCMDSERVER также не задана, то программа ssbdiagnose соединяется с экземпляром компонента Database Engine по умолчанию на локальном компьютере.

  • -ddatabase_name
    Задает базу данных, где размещаются службы компонента Service Broker для анализа. Если такой базы данных не существует, то выдается ошибка. Если параметр -d не задан, то по умолчанию используется база данных, указанная в свойстве default-database текущего имени входа.

  • -llogin_timeout
    Указывает время ожидания соединения с сервером (в секундах). Если параметр -I не задан, то программа ssbdiagnose использует значение из переменной среды SQLCMDLOGINTIMEOUT. Если переменная SQLCMDLOGINTIMEOUT также не задана, то время ожидания по умолчанию составляет тридцать секунд. Время ожидания входа должно быть числом в диапазоне от 0 до 65 534. Если указанное значение не является числом или выходит за пределы указанного диапазона, то программа ssbdiagnose выдаст сообщение об ошибке. Значение 0 задает неограниченное время ожидания.

  • -?
    Отображает справку командной строки.

Замечания

Программа ssbdiagnose предназначена для выполнения следующих задач.

  • Проверка отсутствия ошибок конфигурации в заново настроенном приложении компонента Service Broker.

  • Проверка отсутствия ошибок конфигурации после настройки существующего приложения компонента Service Broker.

  • Проверка отсутствия ошибок конфигурации после отсоединения базы данных компонента Service Broker и дальнейшего присоединения к новому экземпляру компонента Database Engine.

  • Выявление наличия ошибок конфигурации при возникновении неполадок при передаче сообщений между службами.

  • Выдача сообщений об ошибках, возникающих в наборе элементов диалогов компонента Service Broker.

Сведения об ошибках, возвращаемых программой ssbdiagnose, см. в разделе Справочник по ошибкам и событиям (компонент Service Broker).

Отчеты о конфигурации

Чтобы правильно проанализировать конфигурацию, используемую в диалоге, отчет о конфигурации в программе ssbdiagnose следует запускать с теми же параметрами, которые используются в диалоге. Если в программе ssbdiagnose заданы параметры более низкого уровня, чем используются в диалоге, то программа ssbdiagnose может не зарегистрировать ошибки в состояниях, возникающих в диалоге. Если же задать в программе ssbdiagnose параметры более высокого уровня, то она может обнаружить проблемы в ситуациях, которые никогда в диалоге не возникнут. Например, диалог между двумя службами, расположенными в одной базе данных, можно запустить с указанием параметра ENCRYPTION OFF. Если запустить программу ssbdiagnose для проверки конфигурации диалога между этими двумя службами и указать значение по умолчанию ENCRYPTION ON, то программа ssbdiagnose сообщит об отсутствии главного ключа в базе данных, хотя для этого диалога главный ключ не нужен.

При каждом запуске программы ssbdiagnose для составления отчетов о конфигурации выполняется анализ либо одной службы, либо одной пары служб компонента Service Broker. Чтобы создать отчет для нескольких пар служб компонента Service Broker, создайте командный CMD-файл, который будет вызывать программу ssbdiagnose несколько раз.

Отчеты времени выполнения

Если указан параметр -RUNTIME, то программа ssbdiagnose выполняет поиск во всех базах данных, указанных в runtimeconnectionoptions и baseconnectionoptions, и строит список идентификаторов компонента Service Broker. Полное содержимое списка зависит от значений, заданных для параметров -NEW и -ID.

  • Если не указан ни параметр -NEW, ни параметр -ID, то в список будут включены все диалоги во всех базах данных, указанных в параметрах соединения.

  • Если указан параметр -NEW, то программа ssbdiagnose включает в список элементы для первого диалога, который начинается после запуска программы ssbdiagnose. К таким элементам относятся идентификатор диалога и дескрипторы диалога для вызывающей и целевой конечных точек диалога.

  • Если указан параметр -ID с дескриптором диалога, то в список будет включен только этот дескриптор.

  • Если указан параметр -ID с идентификатором диалога, то в список будет добавлен этот идентификатор и дескрипторы для обеих конечных точек соответствующего диалога.

  • Если указан параметр -ID с идентификатором группы сообщений, то в список будут добавлены все идентификаторы диалогов и все дескрипторы диалогов, входящих в эту группу.

В список не включаются элементы, находящиеся в базах данных, которые не указаны в параметрах соединения. Например, если в параметре -ID указан идентификатор диалога, а предложение runtimeconnectionoptions задано для инициирующей базы данных и не задано для целевой, то программа ssbdiagnose включит в список идентификаторов только идентификатор диалога и дескриптор инициатора диалога. Дескриптор инициатора диалога не попадет в список.

Программа ssbdiagnose наблюдает за событиями приложения Приложение SQL Server Profiler в базах данных, указанных в runtimeconnectionoptions и baseconnectionoptions. Программа выполняет поиск событий компонента Service Broker, указывающих на ошибки, обнаруженные для одного или нескольких идентификаторов компонента Service Broker, находящихся в списке времени выполнения. Программа ssbdiagnose ищет также события, указывающие на ошибки системного уровня компонента Service Broker, которые не связаны ни с одной из групп сообщений.

Если программа ssbdiagnose обнаружила в диалоге ошибки, то она предпримет попытку выяснить их первопричину, запустив отчет о конфигурации. Программа ssbdiagnose на основе метаданных баз данных определяет, какие экземпляры, идентификаторы компонента Service Broker, базы данных, службы и контракты используются в диалоге. Затем запускается отчет о конфигурации, учитывающий все доступные сведения.

По умолчанию программа ssbdiagnose не сообщает о событиях, указывающих на ошибки. Она сообщает только об исходных проблемах, выявленных в процессе проверки конфигурации. Это сокращает объем включаемых в отчет сведений и позволяет сосредоточить внимание на первопричинах возникновения проблем конфигурации. Можно задать параметр -SHOWEVENTS, чтобы вывести обнаруженные программой ssbdiagnose события, указывающие на ошибки.

Неполадки, о которых сообщает программа ssbdiagnose

Программа ssbdiagnose включает в отчет неполадки трех типов. Каждый класс неполадок включается в выходной XML-файл в виде отдельного элемента Issue. Ниже перечислены три типа неполадок, о которых сообщает программа ssbdiagnose.

  • Diagnosis
    Указывает на проблемы конфигурации. К ним относятся проблемы, обнаруженные во время выполнения отчета CONFIGURATION или во время фазы проверки конфигурации для отчета RUNTIME. Программа ssbdiagnose сообщает об одной проблеме конфигурации за один раз.

  • Event
    Указывает на событие приложения Приложение SQL Server Profiler, которое сигнализирует о проблеме, обнаруженной в диалоге, который отслеживается отчетом RUNTIME. Программа ssbdiagnose сообщает о каждом случае создания таких событий. Если проблема обнаружена в нескольких диалогах, то событие может быть включено в отчет многократно.

  • Problem
    Указывает на проблему, из-за которой программа ssbdiagnose не имеет возможности выполнять анализ конфигурации или отслеживание диалогов.

Переменные среды sqlcmd

Программа ssbdiagnose поддерживает переменные среды SQLCMDSERVER, SQLCMDUSER, SQLCMDPASSWORD и SQLCMDLOGINTIMEOUT, которые также используются программой sqlcmd. Они могут быть заданы при помощи команды командной строки SET или команды setvar в сценариях Transact-SQL, которые выполняются программой sqlcmd. Дополнительные сведения об использовании команды setvar в сценариях sqlcmd см. в разделе Использование программы sqlcmd с переменными сценария.

Разрешения

В каждом предложении connectionoptions имя входа, указанное в параметре -E или -U, должно быть членом предопределенной роли сервера sysadmin для экземпляра, указанного в параметре -S.

Примеры

В этом разделе приведены примеры использования программы ssbdiagnose в командной строке.

А. Проверка конфигурации двух служб, расположенных в одной базе данных

В этом примере показано, как запросить отчет о конфигурации, если выполняются следующие условия.

  • Вызывающая и целевая службы размещаются в одной базе данных.

  • База данных размещена в экземпляре компонента Database Engine по умолчанию.

  • Экземпляр расположен на том же компьютере, где запускается программа ssbdiagnose.

Программа ssbdiagnose строит отчет по конфигурации, использующей контракт DEFAULT, поскольку не указано предложение ON CONTRACT.

ssbdiagnose -E -d MyDatabase CONFIGURATION FROM SERVICE /test/initiator TO SERVICE /test/target

Б. Проверка конфигурации двух служб, расположенных на разных компьютерах, использующих одно имя входа

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

ssbdiagnose -E CONFIGURATION FROM SERVICE /text/initiator -S InitiatorComputer -d InitiatorDatabase TO SERVICE /test/target -S TargetComputer -d TargetDatabase ON CONTRACT TestContract

В. Проверка конфигурации двух служб, расположенных на разных компьютерах, использующих различные имена входа

В следующем примере показано, как запросить отчет о конфигурации в том случае, когда вызывающая и целевая службы расположены на разных компьютерах и каждому из экземпляров компонента Database Engine необходимо собственное имя входа для проверки подлинности SQL Server.

ssbdiagnose CONFIGURATION FROM SERVICE /text/initiator -S InitiatorComputer -U InitiatorLogin -p !wEx23Dvb -d InitiatorDatabase TO SERVICE /test/target -S TargetComputer -U TargetLogin -p ER!49jiy -d TargetDatabase ON CONTRACT TestContract

Г. Проверка конфигурации для нескольких компьютеров, в которой участвует зеркальная служба и используется анонимное шифрование

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

ssbdiagnose -E CONFIGURATION FROM SERVICE /text/initiator -S InitiatorComputer -d InitiatorDatabase MIRROR -S MirrorComputer/MirrorInstance TO SERVICE /test/target -S TargetComputer -d TargetDatabase ON CONTRACT TestContract ENCRYPTION ANONYMOUS

Д. Проверка конфигурации двух контрактов

В этом примере показано, как построить командный файл, запрашивающий отчет о конфигурации, если выполняются следующие условия.

  • Вызывающая и целевая службы размещаются в одной базе данных.

  • База данных размещена в экземпляре компонента Database Engine по умолчанию.

  • Экземпляр расположен на том же компьютере, где запускается программа ssbdiagnose.

При каждом запуске программы ssbdiagnose она формирует отчет по конфигурации отдельного контракта, действующего между одинаковыми службами.

ssbdiagnose -E -d MyDatabase CONFIGURATION FROM SERVICE /test/initiator TO SERVICE /test/target ON CONTRACT PayRaiseContract
ssbdiagnose -E -d MyDatabase CONFIGURATION FROM SERVICE /test/initiator TO SERVICE /test/target ON CONTRACT PromotionContract

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

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

ssbdiagnose -E -d TestDatabase RUNTIME -ID D68D77A9-B1CF-41BF-A5CE-279ABCAB140D -TIMEOUT 20

Ж. Наблюдение за состоянием диалога, в котором участвуют два компьютера

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

ssbdiagnose RUNTIME -ID D68D77A9-B1CF-41BF-A5CE-279ABCAB140D -TIMEOUT 10 CONNECT TO -E -S InitiatorComputer/InitiatorInstance -d InitiatorDatabase CONNECT TO -E -S TargetComputer/TargetInstance -d TargetDatabase

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

В следующем примере показано, как запустить наблюдение за отдельным диалогом, где вызывающая и целевая службы находятся в разных базах данных, размещенных в одном экземпляре компонента Database Engine. В примере параметр baseconnectionoptions указывает сведения об экземпляре и данные входа, а два предложения CONNECT TO указывают базы данных. Кроме того, указан параметр -SHOWEVENTS, согласно которому в отчет включаются все события времени выполнения.

ssbdiagnose -E -S TestComputer/DevTestInstance RUNTIME -SHOWEVENTS -ID 5094d4a7-e38c-4c37-da37-1d58b1cb8455 -TIMEOUT 10 CONNECT TO -d InitiatorDatabase CONNECT TO -d TargetDatabase

И. Наблюдение за состоянием двух диалогов между двумя базами данных

В следующем примере показано, как запустить наблюдение за двумя диалогами, где вызывающая и целевая службы находятся в разных базах данных, размещенных в одном экземпляре компонента Database Engine. В примере параметр baseconnectionoptions указывает сведения об экземпляре и данные входа, а два предложения CONNECT TO указывают базы данных.

ssbdiagnose -E -S TestComputer/DevTestInstance RUNTIME -ID 5094d4a7-e38c-4c37-da37-1d58b1cb8455 -ID 9b293be9-226b-4e22-e169-1d2c2c15be86 -TIMEOUT 10 CONNECT TO -d InitiatorDatabase CONNECT TO -d TargetDatabase

К. Наблюдение за состоянием всех диалогов между двумя базами данных

В следующем примере показано, как запустить наблюдение за всеми диалогами между двумя базами данных, расположенными в одном экземпляре компонента Database Engine. В примере параметр baseconnectionoptions указывает сведения об экземпляре и данные входа, а два предложения CONNECT TO указывают базы данных.

ssbdiagnose -E -S TestComputer/DevTestInstance RUNTIME -TIMEOUT 10 CONNECT TO -d InitiatorDatabase CONNECT TO -d TargetDatabase

Л. Пропуск отдельных ошибок

В следующем примере показано, как пропустить обработку известных ошибок (303 и 304) в конфигурации активации, используемой в тестовой системе.

ssbdiagnose -IGNORE 303 -IGNORE 304 -E -d TestDatabase CONFIGURATION FROM SERVICE /test/initiator TO SERVICE /test/target ON CONTRACT TextContract

М. Перенаправление выходного XML-кода программы ssbdiagnose

В следующем примере показано, как запросить формирование в программе ssbdiagnose выходного XML-кода, который перенаправляется в файл. Далее файл TestDiag.xml можно открыть в приложении, предназначенном для анализа XML-файлов программы ssbdiagnose или создания по ним отчетов. Кроме того, этот файл можно просмотреть в XML-редакторе общего назначения, например в XML-блокноте.

ssbdiagnose -XML -E -d MyDatabase CONFIGURATION FROM SERVICE /test/initiator TO SERVICE /test/target > c:\MyDiagnostics\TestDiag.xml

Н. Использование переменной среды

В следующем примере сначала устанавливается переменная среды SQLCMDSERVER, в которой хранится имя сервера, а затем запускается программа ssbdiagnose без указания параметра -S.

SET SQLCMDSERVER=MyComputer
ssbdiagnose -XML -E -d MyDatabase CONFIGURATION FROM SERVICE /test/initiator TO SERVICE /test/target

См. также

Справочник

Основные понятия