SQL Server Service Broker
SQL Server Service Broker는 SQL Server 데이터베이스 엔진에서 메시징 및 큐 애플리케이션에 대한 기본 지원을 제공합니다. 이러한 지원을 통해 개발자는 데이터베이스 엔진 구성 요소를 사용하여 서로 다른 데이터베이스 간에 통신하는 복잡한 응용 프로그램을 보다 쉽게 만들 수 있습니다. 개발자는 Service Broker를 사용하여 신뢰할 수 있는 분산 응용 프로그램을 간단하게 작성할 수 있습니다.
Service Broker 를 사용하는 애플리케이션 개발자는 복잡한 통신 및 메시징 내부 사항을 프로그래밍하지 않고도 데이터 작업을 여러 데이터베이스에 분산시킬 수 있습니다. 이렇게 하면 Service Broker가 대화 컨텍스트에서 통신 경로를 처리하므로 개발 및 테스트 작업이 줄어들 뿐만 아니라 성능이 향상됩니다. 예를 들어, 웹 사이트를 지원하는 프런트 엔드 데이터베이스는 정보를 기록하고 프로세스를 많이 사용하는 태스크를 백 엔드 데이터베이스의 큐로 보낼 수 있습니다. Service Broker 는 모든 태스크가 트랜잭션 컨텍스트에서 관리되도록 하여 안정성과 기술 일관성을 유지합니다.
Service Broker 설명서의 위치
Service Broker에 대한 참조 설명서는 SQL Server 2014 설명서에 포함되어 있습니다. 이 참조 설명서는 다음과 같은 섹션으로 구성됩니다.
CREATE, ALTER 및 DROP 문에 대한 DDL(데이터 정의 언어) 문(Transact-SQL)
개념과 개발 및 관리 태스크에 대한 자세한 내용은 이전에 게시된 설명서 Service Broker 를 참조하십시오. 이 설명서는 2014년 SQL Server Service Broker의 변경 내용 수가 적기 때문에 SQL Server 2014 설명서에서 재현되지 않습니다.
Service Broker의 새로운 기능
2014년 SQL Server 큰 변화는 없습니다. 2012년 SQL Server 다음과 같은 변경 사항이 도입되었습니다.
메시지를 여러 대상 서비스에 보낼 수 있음(멀티캐스트)
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 가용성 그룹(SQL Server)을 사용하여 Service Broker를 참조하세요.