ALTER MESSAGE TYPE (Transact-SQL)

適用於:SQL ServerAzure SQL 受控執行個體

變更訊息類型的屬性。

Transact-SQL 語法慣例

Syntax

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_ddladmindb_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)