ALTER MESSAGE TYPE (Transact-SQL)

适用于:SQL ServerAzure SQL 托管实例

更改消息类型的属性。

Transact-SQL 语法约定

语法

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

注意

若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档

自变量

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

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


不执行任何验证。 消息正文可以包含任何数据,也可以为 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 ;  

另请参阅

ALTER AUTHORIZATION (Transact-SQL)
CREATE MESSAGE TYPE (Transact-SQL)
DROP MESSAGE TYPE (Transact-SQL)
EVENTDATA (Transact-SQL)