ALTER MESSAGE TYPE (Transact-SQL)

更改消息类型的属性。

主题链接图标Transact-SQL 语法约定

语法

ALTER MESSAGE TYPE message_type_name
   VALIDATION =
    {  NONE 
     | EMPTY 
     | WELL_FORMED_XML 
     | VALID_XML WITH SCHEMA COLLECTION schema_collection_name }
[ ; ]

参数

  • message_type_name
    要更改的消息类型的名称。不能指定服务器、数据库和架构名称。

  • VALIDATION
    指定 Service Broker 对此类型消息的消息正文的验证方式。

  • NONE
    不执行验证。消息正文可以包含任何数据,也可以为 NULL。

  • EMPTY
    消息正文必须为 NULL。

  • WELL_FORMED_XML
    消息正文必须包含格式正确的 XML。

  • VALID_XML_WITH_SCHEMA = schema_collection_name
    消息正文必须包含符合指定架构集合中的某一架构的 XML。schema_collection_name 必须是现有 XML 架构集合的名称。

注释

更改消息类型的验证不会影响已传递到队列的消息。

若要更改消息类型的 AUTHORIZATION,请使用 ALTER AUTHORIZATION 语句。

权限

默认情况下,消息类型的所有者、db_ddladmindb_owner 固定数据库角色以及 sysadmin 固定服务器角色的成员拥有更改消息类型的权限。

如果 ALTER MESSAGE TYPE 语句指定了一个架构集合,则执行该语句的用户必须对指定的架构集合具有 REFERENCES 权限。

示例

以下示例更改消息类型 //Adventure-Works.com/Expenses/SubmitExpense,以要求消息正文包含格式正确的 XML 文档。

ALTER MESSAGE TYPE
    [//Adventure-Works.com/Expenses/SubmitExpense]
    VALIDATION = WELL_FORMED_XML ;