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 }
[ ; ]
注意
若要查看 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_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)