ALTER MESSAGE TYPE (Transact-SQL)

Se aplica a:SQL ServerAzure SQL Managed Instance

Cambia las propiedades de un tipo de mensaje.

Convenciones de sintaxis de Transact-SQL

Sintaxis

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

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

message_type_name
Es el nombre del tipo de mensaje que se va a cambiar. No se pueden especificar nombres de servidor, base de datos o esquema.

VALIDATION
Especifica cómo Service Broker valida el cuerpo del mensaje para mensajes de este tipo.

Ninguno
No se realiza ninguna validación. El cuerpo del mensaje puede contener cualquier dato o tener un valor NULL.

EMPTY
El cuerpo del mensaje debe tener un valor NULL.

WELL_FORMED_XML
El cuerpo del mensaje debe contener XML correcto.

VALID_XML_WITH_SCHEMA = schema_collection_name
El cuerpo del mensaje debe contener XML que cumpla con el esquema de la colección de esquemas especificada. schema_collection_name debe ser el nombre de una colección de esquemas XML existente.

Observaciones

El cambio de la validación de un tipo de mensaje no afecta a los mensajes que ya se han entregado a una cola.

Para modificar AUTHORIZATION para un tipo de mensaje, utilice la instrucción ALTER AUTHORIZATION.

Permisos

De forma predeterminada, se concede permiso para modificar un tipo de mensaje al propietario del tipo de mensaje, a los miembros de los roles fijos de base de datos db_ddladmin o db_owner, y a los miembros del rol fijo de servidor sysadmin.

Si la instrucción ALTER MESSAGE TYPE especifica una colección de esquemas, el usuario que ejecuta la instrucción debe tener el permiso REFERENCES en la colección de esquemas especificada.

Ejemplos

En el ejemplo siguiente se cambia el tipo de mensaje //Adventure-Works.com/Expenses/SubmitExpense para que requiera que el cuerpo del mensaje contenga un documento XML correcto.

ALTER MESSAGE TYPE  
    [//Adventure-Works.com/Expenses/SubmitExpense]  
    VALIDATION = WELL_FORMED_XML ;  

Consulte también

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