메시지 유형
Service Broker를 사용하는 응용 프로그램은 서로 메시지를 대화의 일부로 보내 통신합니다. 대화 참가자는 각 메시지의 이름과 내용에 동의해야 합니다. 메시지 유형 개체는 메시지 유형의 이름을 정의하고 메시지에 포함된 데이터 유형을 정의합니다. 메시지 유형은 메시지 유형이 생성된 데이터베이스에서 유지됩니다. 대화에 참가한 각 데이터베이스에 동일한 메시지 유형을 만듭니다.
각 메시지 유형은 SQL Server가 해당 유형의 메시지에 대해 수행하는 유효성 검사를 지정합니다. SQL Server는 메시지에 유효한 XML이 있는지, 특정 스키마에 맞는 XML이 있는지 또는 데이터가 전혀 없는지를 검사할 수 있습니다. 임의 데이터나 이진 데이터의 경우 메시지 유형은 SQL Server가 메시지의 내용의 유효성을 검사하지 않도록 지정할 수 있습니다.
유효성 검사는 대상 서비스가 메시지를 받으면 수행됩니다. 메시지 내용이 지정된 유효성 검사와 일치하지 않으면 Service Broker는 메시지를 보낸 서비스에 오류 메시지를 반환합니다.
중요 |
---|
지정된 유효성 검사에 관계없이 응용 프로그램은 프로그램이 데이터를 사용하기 전에 메시지 내용이 응용 프로그램에 적합한지 확인해야 합니다. |
빈 메시지 유형의 경우 메시지 본문에 데이터가 없어야 합니다. 올바른 형식의 XML을 지정한 메시지 유형의 경우 메시지 본문이 올바른 형식의 XML이어야 합니다. 특정 스키마 컬렉션에 맞는 XML을 지정하는 메시지 유형의 경우 컬렉션에 있는 스키마 중 하나에 적합한 올바른 형식의 XML이 메시지에 있어야 합니다. 유효성 검사를 지정하지 않은 메시지 유형의 경우 SQL Server는 이진 데이터, XML 또는 빈 메시지를 비롯한 모든 메시지 내용을 허용합니다.
Service Broker는 DEFAULT라는 기본 제공 메시지 유형을 제공합니다. Service Broker SEND 명령에 메시지 유형을 지정하지 않은 경우 시스템이 DEFAULT 메시지 유형을 사용합니다.
Service Broker는 오류와 대화 상태를 보고하는 데 사용되는 시스템 메시지 유형을 포함합니다. 자세한 내용은 Broker 시스템 메시지를 참조하십시오.