Share via


문제 해결 도구(Service Broker)

Service Broker는 구성 및 대화 문제를 진단하기 위한 여러 가지 도구를 제공합니다.

Service Broker는 데이터베이스 엔진의 구성 요소입니다. 따라서 데이터베이스 엔진 도구의 상당수는 Service Broker 문제를 진단하는 데에도 사용할 수 있습니다. 자세한 내용은 문제 해결 도구(데이터베이스 엔진)를 참조하십시오.

ssbdiagnose 유틸리티

ssbdiagnose 유틸리티는 Service Broker 서비스와 실행 중인 대화에서 오류를 분석합니다. ssbdiagnose를 사용하여 다음을 수행할 수 있습니다.

  • 새로 구성된 Service Broker 응용 프로그램에 구성 오류가 없음을 확인합니다.

  • 기존 Service Broker 응용 프로그램의 구성을 변경한 후에 구성 오류가 없음을 확인합니다.

  • Service Broker 데이터베이스가 분리된 다음 새 데이터베이스 엔진 인스턴스에 다시 연결된 후에 구성 오류가 없음을 확인합니다.

  • 서비스 간의 성공적인 메시지 전송을 차단하는 오류를 확인합니다.

유틸리티 사용 방법은 ssbdiagnose 유틸리티를 참조하십시오.

Service Broker 전송 큐

받는 큐에 성공적으로 전송되지 않은 Service Broker 메시지는 보내는 데이터베이스의 Service Broker 전송 큐에 보관됩니다. 각 데이터베이스에서 sys.transmission_queue 시스템 뷰를 사용하면 큐에 있는 메시지를 볼 수 있습니다. 전송 오류로 인해 큐에 있는 메시지의 경우 transmission_status 열에 오류 메시지가 포함됩니다.

전송 큐에 있는 메시지가 모두 오류에 의한 것은 아닙니다.

  • 큐의 일부 메시지는 보내는 프로세스가 진행 중인 메시지일 수 있습니다. 예를 들어 연결이 끊어진 수신자가 다시 연결되기를 기다리거나 네트워크 보내기가 승인되기를 기다리는 중일 수 있습니다.

  • 큐의 RETENTION 설정이 ON 상태인 경우 성공적으로 전송된 메시지는 대화가 종료될 때까지 전송 큐에 보관됩니다.

is_conversation_error 열은 메시지에 오류가 발생했는지 여부를 나타냅니다.

sys.transmission_queue에 대한 자세한 내용은 sys.transmission_queue(Transact-SQL)를 참조하십시오.

Service Broker SQL Trace 이벤트

Service Broker는 문제를 진단하는 데 사용할 수 있는 여러 가지 SQL Trace 이벤트를 제공합니다. SQL Server 프로파일러 또는 시스템 저장 프로시저를 사용하여 Service Broker 이벤트와 오류 발생을 모니터링하는 SQL Trace를 구성할 수 있습니다. 이렇게 하면 시스템에 의해 생성된 Service Broker 이벤트를 보고 이러한 이벤트에 오류가 발생했는지 여부를 확인할 수 있습니다.

SQL Trace를 사용하는 방법은 이벤트 모니터링을 참조하십시오.

Service Broker 추적 이벤트에 대한 자세한 내용은 Broker 이벤트 범주를 참조하십시오.

Service Broker 성능 개체

Service Broker는 시스템 모니터에서 Service Broker 작업의 성능을 추적하는 데 사용할 수 있는 여러 가지 성능 개체를 제공합니다.

자세한 내용은 리소스 사용 모니터링(시스템 모니터)을 참조하십시오.

Service Broker 성능 개체에 대한 자세한 내용은 다음 항목을 참조하십시오.

Service Broker 오류

Service Broker는 데이터베이스 엔진과 동일한 메커니즘을 사용하여 응용 프로그램 또는 도구에 오류를 반환합니다. 자세한 내용은 데이터베이스 엔진 오류 이해를 참조하십시오.

Service Broker 오류에 대한 자세한 내용은 오류 및 이벤트 참조(Service Broker)를 참조하십시오.

Transact-SQL 문을 실행할 때 생성되는 Service Broker 오류는 호출 응용 프로그램에 반환됩니다. 예를 들어 Management Studio Transact-SQL 쿼리 편집기에서 스크립트를 실행 중이라면 Service Broker Transact-SQL 문의 오류는 메시지 창에 반환됩니다.

많은 Service Broker 작업은 비동기적이며 데이터베이스 엔진 인스턴스에 연결된 응용 프로그램이 없을 때 발생합니다. 이러한 오류는 일반적으로 데이터베이스 엔진 인스턴스와 관련된 오류 로그 및 Windows 응용 프로그램 로그에 반환됩니다. 자세한 내용은 오류 로그 모니터링을 참조하십시오.

Service Broker 시스템 뷰

Service Broker는 기존 Service Broker 구성을 분석하거나 Service Broker 구성 요소의 상태를 모니터링하기 위한 여러 가지 시스템 뷰를 제공합니다.

Service Broker 카탈로그 뷰

Service Broker 카탈로그 뷰는 큐, 계약과 같은 Service Broker 카탈로그 개체의 현재 구성에 대한 데이터를 반환합니다.

Service Broker 카탈로그 뷰 목록은 Service Broker 카탈로그 뷰(Transact-SQL)를 참조하십시오.

Service Broker 동적 관리 뷰

Service Broker 동적 관리 뷰는 활성화 태스크, Service Broker 연결과 같은 Service Broker 구성 요소의 현재 상태에 대한 데이터를 반환합니다.

Service Broker 동적 관리 뷰의 목록은 Service Broker 관련 동적 관리 뷰(Transact-SQL)를 참조하십시오.