메시지 유형

적용 대상:SQL ServerAzure SQL Managed Instance

Service Broker를 사용하는 애플리케이션은 서로 메시지를 대화의 일부로 보내 통신합니다. 대화의 참가자는 각 메시지의 이름과 내용에 동의해야 합니다. 메시지 형식 개체는 메시지 형식의 이름을 정의하고 메시지에 포함된 데이터 형식을 정의합니다. 메시지 형식은 메시지 형식이 만들어진 데이터베이스에 유지됩니다. 대화에 참여하는 각 데이터베이스에 동일한 메시지 유형을 만듭니다.

각 메시지 유형은 SQL Server가 해당 유형의 메시지에 대해 수행하는 유효성 검사를 지정합니다. SQL Server는 메시지에 유효한 XML이 있는지, 특정 스키마에 맞는 XML이 있는지 또는 데이터가 전혀 없는지 유효성을 검사할 수 있습니다. 임의 데이터나 이진 데이터의 경우 메시지 유형은 SQL Server가 메시지의 내용의 유효성을 검사하지 않도록 지정할 수 있습니다.

유효성 검사는 대상 서비스가 메시지를 받을 때 수행됩니다. 메시지 내용이 지정된 유효성 검사와 일치하지 않으면 Service Broker는 메시지를 보낸 서비스에 오류 메시지를 반환합니다.

Important

지정된 유효성 검사에 관계없이 애플리케이션은 프로그램에서 데이터를 사용하기 전에 메시지의 내용이 애플리케이션에 적합한지 확인해야 합니다.

빈 메시지 유형의 경우 메시지 본문에 데이터가 포함되지 않아야 합니다. 올바른 형식의 XML을 지정하는 메시지 형식의 경우 메시지 본문은 올바른 형식의 XML이어야 합니다. 특정 스키마 컬렉션을 준수하는 XML을 지정하는 메시지 형식의 경우 메시지에는 컬렉션의 스키마 중 하나에 유효한 올바른 형식의 XML이 포함되어야 합니다. 유효성 검사를 지정하지 않은 메시지 유형의 경우 SQL Server는 이진 데이터, XML 또는 빈 메시지를 비롯한 여기에는 이진 데이터, XML 또는 빈 메시지가 포함됩니다.

Service Broker는 DEFAULT라는 기본 제공 메시지 유형을 제공합니다. Service Broker SEND 명령에 메시지 유형을 지정하지 않은 경우 시스템이 DEFAULT 메시지 유형을 사용합니다.

Service Broker는 오류와 대화 상태를 보고하는 데 사용되는 시스템 메시지 유형을 포함합니다. 자세한 내용은 Broker 시스템 메시지를 참조하세요.

참고 항목