ALTER MESSAGE TYPE (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_ddladmin 或 db_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)