다음을 통해 공유


전달 관리(Service Broker)

메시지 전달을 통해 SQL Server 인스턴스는 Service Broker 메시지를 두 개 이상의 다른 SQL Server 인스턴스 간에 전달할 수 있습니다. 메시지 전달을 수행하는 SQL Server 인스턴스 관리에는 몇 가지 고려할 사항이 있습니다.

Service Broker는 전달된 메시지와 들어오는 메시지 모두에 msdb 데이터베이스의 경로를 사용합니다. 전달에 대한 라우팅 구성을 변경한 후에는 msdb를 백업해야 합니다.

SQL Server는 전달할 메시지를 전송기 큐라는 데이터 구조로 메모리에 저장합니다. 끝점 옵션 MESSAGE_FORWARDING_SIZE는 SQL Server가 전달할 메시지를 저장하는 데 사용하는 메모리의 최대 크기(MB)를 설정합니다. SQL Server는 전달할 메시지를 보관하는 데 필요한 만큼 최대 이 한도까지 메모리를 할당합니다. 전송기 큐 크기가 이 한도를 초과하게 되는 메시지가 도착하면 SQL Server는 해당 메시지를 삭제합니다. 그러나 크기가 큰 메시지가 조각화되어 있을 경우 전달 인스턴스는 조각을 다시 모으지는 않고 대신 메시지 조각들을 대상으로 전달합니다. 이러한 방식으로 전달 인스턴스는 인스턴스에 대해 구성된 MESSAGE_FORWARDING_SIZE 옵션보다 큰 메시지를 성공적으로 전달할 수 있습니다.

메시지 전달을 수행하는 인스턴스는 두 네트워크 간의 브리지 역할을 하는 경우가 많습니다. 이 구성의 경우 두 네트워크 간의 모든 소통량이 인스턴스를 통해 전달되기 때문에 Service Broker 끝점에 대한 MESSAGE_FORWARDING_SIZE 옵션이 상대적으로 커야 할 수도 있습니다.

동적 관리 뷰 sys.dm_broker_forwarded_messages는 전달하기 위해 저장된 메시지를 보여 줍니다.