Поделиться через


ALTER MESSAGE TYPE (Transact-SQL)

Изменяет свойства типа сообщений.

Значок ссылки на раздел Синтаксические обозначения 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)