Compartir a través de


ALTER MESSAGE TYPE (Transact-SQL)

Cambia las propiedades de un tipo de mensaje.

Icono de vínculo a temasConvenciones 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 }
[ ; ]

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.

  • NONE
    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.

Notas

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 las funciones fijas de base de datos ddl_admin o db_owner y a los miembros de la función fija 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 ;