다음을 통해 공유


Service Broker에서 내부 활성화 구현

적용 대상:SQL ServerAzure SQL Managed Instance

이 자습서는 Service Broker를 처음 사용하지만 데이터베이스 개념과 Transact-SQL 문에 익숙한 사용자를 대상으로 합니다. 새 사용자가 Service Broker 메시지를 처리하는 내부 활성화 저장 프로시저를 구현하는 방법을 보여 줌으로써 시작하는 데 도움이 됩니다.

개념

이 자습서에서는 내부 활성화 저장 프로시저를 사용하여 기본 요청-회신 Service Broker 대화를 지원하는 데 필요한 데이터베이스 개체를 만드는 방법을 보여줍니다. 그런 다음 대화를 시작하고 이를 사용하여 메시지를 전송합니다.

각 Service Broker 대화에는 대화 초기자와 대상이라는 두 개의 끝이 있습니다. 요청-회신 대화에서는 요청 메시지가 초기자에서 대상으로 전송되고, 대상은 회신 메시지를 반환합니다. Service Broker 내부 활성화를 사용하여 처리할 메시지가 있을 때마다 저장 프로시저를 실행할 수 있습니다. Service Broker는 전송되는 메시지가 많은 경우 저장 프로시저의 여러 복사본을 실행할 수 있습니다. 이 자습서에서는 대상에서 요청 메시지를 수신하는 저장 프로시저를 만드는 방법과 내부 활성화를 사용하여 저장 프로시저를 실행하도록 대상을 구성하는 방법을 보여 줍니다.

이 단원에서는 다음 작업을 수행하도록 안내합니다.

  • 대상에 대한 서비스 및 큐를 만들고 초기자에 대한 서비스 및 큐를 만듭니다.

  • 요청 메시지 유형 및 회신 메시지 유형을 만듭니다.

  • 요청 메시지가 초기자에서 대상으로 이동하도록 지정하고 해당 회신 메시지가 대상에서 초기자로 이동하도록 지정하는 계약을 만듭니다.

  • 대상 큐에서 요청 메시지를 받고 초기자에게 메시지를 회신하는 저장 프로시저를 만듭니다.

  • 저장 프로시저의 내부 활성화를 사용하도록 대상 큐를 변경합니다.

그런 다음, 기본 대화를 수행합니다.

  • 대화를 시작합니다.

  • 발신자에서 대상에게 요청을 보냅니다.

  • 그런 다음 Service Broker는 저장 프로시저를 활성화합니다. 저장 프로시저는 대상에서 요청을 수신하고 초기자에게 회신을 보냅니다.

  • 초기 발신자로부터 회신을 받습니다.

  • 대화의 발신자 쪽을 종료합니다.

  • 그런 다음 Service Broker는 저장 프로시저를 두 번째로 활성화하고 저장 프로시저는 대화의 대상 쪽을 종료합니다.

메시지는 데이터베이스 엔진의 동일한 인스턴스에 양쪽 끝이 있는 대화에 대해 네트워크를 통해 전송되지 않습니다. 데이터베이스 엔진 보안 및 권한은 권한 있는 원칙에 대한 액세스를 제한합니다. 이 시나리오에서는 네트워크 암호화가 필요하지 않습니다.

이 자습서는 다음 단원으로 나뉩니다.

수업 묘사
1단원: 기본 대화 개체 만들기 기본 Service Broker 대화를 지원하는 데 필요한 메시지 유형, 계약, 서비스 및 큐를 만듭니다.
2단원: 내부 활성화 프로시저 만들기 대상 큐에서 메시지를 받을 저장 프로시저를 만든 다음 대상 큐를 변경하여 내부 활성화를 지정합니다.
3단원: 대화를 시작하고 메시지 전송 대화를 시작하고 시작자에서 대상으로 요청 메시지를 전송하여 기본 대화를 완료합니다. 내부 활성화 저장 프로시저는 요청 메시지를 수신하고 회신 메시지를 반환합니다. 그런 다음 대화의 초기자 쪽을 종료하고 저장 프로시저는 대화의 대상 쪽을 종료합니다.
4단원: 대화 개체들 버리기 대화를 지원하기 위해 만든 개체를 삭제합니다.

요구 사항

이 자습서를 완료하려면 Transact-SQL 언어뿐 아니라 SQL Server Management Studio에서 데이터베이스 엔진 쿼리 편집기를 사용하는 방법을 잘 알고 있어야 합니다. 샘플 데이터베이스에 대한 db_ddladmin 또는 AdventureWorks2025 고정 데이터베이스 역할의 멤버이거나 sysadmin 고정 서버 역할이어야 합니다.

시스템에는 다음이 설치되어 있어야 합니다.