教您如何使用SQL Server創(chuàng)建服務(wù)
下面將為您介紹SQL Server創(chuàng)建服務(wù)的實(shí)現(xiàn)方法,該方法供您參考,如果您對(duì)SQL Server創(chuàng)建服務(wù)方面感興趣的話,不妨一看。
服務(wù)代理程序體系架構(gòu)
服務(wù)代理程序是基于服務(wù)代理程序的體系架構(gòu)的。此體系架構(gòu)由以下數(shù)據(jù)庫對(duì)象組成:
消息:是在服務(wù)之間交換的數(shù)據(jù)。
服務(wù):是會(huì)話的可尋址的端點(diǎn)。服務(wù)代理程序消息從一個(gè)服務(wù)發(fā)送到另一個(gè)服務(wù)。參加會(huì)話的兩種類型的服務(wù)是發(fā)起者和處理服務(wù)。發(fā)起者服務(wù)發(fā)起會(huì)話,向處理服務(wù)發(fā)送消息。
消息類型:定義在會(huì)話的參與者之間交換的消息的內(nèi)容。消息類型對(duì)象定義消息類型的名稱和消息可包含的內(nèi)容的類型。
約定:是定義將交換消息的參與應(yīng)用程序之間的協(xié)定。必須在參與會(huì)話的每個(gè)參與數(shù)據(jù)庫上創(chuàng)建相同的約定。
隊(duì)列:是存儲(chǔ)消息的容器。每個(gè)服務(wù)與一個(gè)隊(duì)列關(guān)聯(lián)。當(dāng)為服務(wù)發(fā)送消息時(shí),服務(wù)代理程序?qū)⑾⒎胖迷陉?duì)列中。隊(duì)列是以表的形式來表示的,其中每條消息是一行。每行包含消息和其信息,如消息類型、發(fā)起者和目標(biāo)服務(wù)。
服務(wù)程序:是向服務(wù)提供邏輯的程序。當(dāng)為服務(wù)接收消息時(shí),服務(wù)代理程序自動(dòng)發(fā)起服務(wù)程序,向程序轉(zhuǎn)發(fā)消息。
實(shí)現(xiàn)服務(wù)代理程序
在實(shí)現(xiàn)服務(wù)代理程序之前,首先需要?jiǎng)?chuàng)建服務(wù)代理程序?qū)ο螅缦?、?duì)列、約定和服務(wù)。接下來,可開始會(huì)話。在會(huì)話開始之后,對(duì)象可通過發(fā)送和接收消息彼此之間進(jìn)行通訊。
創(chuàng)建消息
消息是在服務(wù)代理程序服務(wù)之間交換的實(shí)體。消息需要一個(gè)名稱來參與會(huì)話。消息可包含對(duì)消息處理的數(shù)據(jù)類型的驗(yàn)證。作為會(huì)話的一部分,消息具有***的標(biāo)識(shí)符以及***的隊(duì)列號(hào)來實(shí)現(xiàn)消息排隊(duì)。
可使用CREATE MESSAGE命令來創(chuàng)建新的消息。CREATE MESSAGE命令的語法如下所示:
- CREATE MESSAGE TYPE message_type_name
- [ VALIDATION = { NONE | EMPTY | WELL_FORMED_XML | VALID_XML WITH SCHEMA COLLECTION schema_collection_name } ] [ ; ]
其中,
message_type_name 是想要?jiǎng)?chuàng)建的消息類型的名稱。
VALIDATION 指定消息在發(fā)送之前應(yīng)如何進(jìn)行驗(yàn)證。默認(rèn)值是 NONE。驗(yàn)證子句可采用以下值:
NONE: 表示未執(zhí)行驗(yàn)證。
EMPTY: 表示消息正文必須是 NULL。
WELL_FORMED_XML: 表示消息必須是定義完好的 XML 代碼段。
VALID_XML WITH SCHEMA COLLECTION: 驗(yàn)證使用現(xiàn)有模式在消息中出現(xiàn)的 XML 代碼段。
【編輯推薦】