ALTER MESSAGE TYPE (Transact-SQL)
Changes the properties of a message type.
Syntax
ALTER MESSAGE TYPE message_type_name
VALIDATION =
{ NONE
| EMPTY
| WELL_FORMED_XML
| VALID_XML WITH SCHEMA COLLECTION schema_collection_name }
[ ; ]
Arguments
message_type_name
The name of the message type to change. Server, database, and schema names cannot be specified.VALIDATION
Specifies how Service Broker validates the message body for messages of this type.NONE
No validation is performed. The message body might contain any data, or might be NULL.EMPTY
The message body must be NULL.WELL_FORMED_XML
The message body must contain well-formed XML.VALID_XML_WITH_SCHEMA = schema_collection_name
The message body must contain XML that complies with a schema in the specified schema collection. The schema_collection_name must be the name of an existing XML schema collection.
Remarks
Changing the validation of a message type does not affect messages that have already been delivered to a queue.
To change the AUTHORIZATION for a message type, use the ALTER AUTHORIZATION statement.
Permissions
Permission for altering a message type defaults to the owner of the message type, members of the db_ddladmin or db_owner fixed database roles, and members of the sysadmin fixed server role.
When the ALTER MESSAGE TYPE statement specifies a schema collection, the user executing the statement must have REFERENCES permission on the schema collection specified.
Examples
The following example changes the message type //Adventure-Works.com/Expenses/SubmitExpense to require that the message body contain a well-formed XML document.
ALTER MESSAGE TYPE
[//Adventure-Works.com/Expenses/SubmitExpense]
VALIDATION = WELL_FORMED_XML ;