SQL Server Service Broker

SQL Server Service Broker는 SQL Server 데이터베이스 엔진에서 메시징 및 큐 응용 프로그램에 대한 기본 지원을 제공합니다. 이러한 지원을 통해 개발자는 데이터베이스 엔진 구성 요소를 사용하여 서로 다른 데이터베이스 간에 통신하는 복잡한 응용 프로그램을 쉽게 만들 수 있습니다. 개발자는 Service Broker를 사용하여 신뢰할 수 있는 분산 응용 프로그램을 간단하게 작성할 수 있습니다.

Service Broker를 사용하는 응용 프로그램 개발자는 복잡한 통신 및 메시징 내부 사항을 프로그래밍하지 않고도 데이터 작업을 여러 데이터베이스에 분산시킬 수 있습니다. 이렇게 하면 Service Broker가 대화 컨텍스트에서 통신 경로를 처리하므로 개발 및 테스트 작업이 줄어들 뿐만 아니라 성능이 향상됩니다. 예를 들어, 웹 사이트를 지원하는 프런트 엔드 데이터베이스는 정보를 기록하고 프로세스를 많이 사용하는 태스크를 백 엔드 데이터베이스의 큐로 보낼 수 있습니다. Service Broker는 모든 태스크가 트랜잭션 컨텍스트에서 관리되도록 하여 안정성과 기술 일관성을 유지합니다.

Service Broker 설명서의 위치

Service Broker에 대한 참조 설명서는 SQL Server 2012 설명서에 포함되어 있습니다. 이 참조 설명서는 다음과 같은 섹션으로 구성됩니다.

Service Broker 개념과 개발 및 관리 태스크에 대한 자세한 내용은 이전에 게시된 설명서를 참조하십시오. 이 설명서는 SQL Server 2012에서 Service Broker의 변경 사항이 적기 때문에 SQL Server 2012 설명서에서 다시 작성되지 않았습니다.

SQL Server 2012의 Service Broker에 포함된 새로운 기능

메시지를 여러 대상 서비스에 보낼 수 있음(멀티캐스트)

SEND(Transact-SQL) 문의 구문은 여러 대화 핸들을 지원하여 멀티캐스트를 설정하기 위해 확장되었습니다.

메시지가 큐에 유지된 시간이 큐에서 노출됨

메시지가 큐에 유지된 시간을 보여 주는 message_enqueue_time이라는 새 열이 큐에 있습니다.

포이즌 메시지 처리를 해제할 수 있음

CREATE QUEUE(Transact-SQL)ALTER QUEUE(Transact-SQL) 문은 이제 POISON_MESSAGE_HANDLING (STATUS = ON | OFF) 절을 추가하여 포이즌 메시지 처리를 설정하거나 해제할 수 있습니다. 카탈로그 뷰 sys.service_queues에는 이제 포이즌 메시지가 설정되었는지, 아니면 해제되었는지를 나타내는 is_poison_message_handling_enabled 열이 있습니다.

Service Broker의 AlwaysOn 지원

자세한 내용은 AlwaysOn 가용성 그룹이 포함된 Service Broker(SQL Server)를 참조하십시오.