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)
DROP MESSAGE TYPE (Transact-SQL)
EVENTDATA (Transact-SQL)