欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

SQL Server 2008中Service Broker基礎應用(上)

系統 2060 0

SQL Server 2008中SQL應用系列--目錄索引

導讀:本文主要涉及Service Broker的基本概念及建立一個Service Broker應用程序的基本步驟。

一、前言

Service Broker為SQL Server提供消息隊列,這提供了從數據庫中發送異步事務性消息隊列的方法。Service Broker消息可以保證以適當的順序或原始的發送順序不重復地一次性接收。并且因為內建在SQL Server中,這些消息在數據庫發生故障時是可以恢復的,也可以隨數據庫一起備份。在SQL Server 2008中,還引入了使用Create Broker Priority命令對會話設定優先級,可以對重要的或不重要的會話進行優先級設定,以保證消息合理地處理。

本文假定一個在線數據庫BookStore中存儲了一些業務訂單。我們使用Service Broker應用程序將消息發送到另一個數據庫BookDistribution,該數據庫是分離的應用程序調用,該應用程序控制倉庫入庫和出庫交付, 并返回消息給BookStore。

創建Service Broker應用程序大體步驟如下:

1、定義希望應用程序執行的異步任務。

2、確定Service Broker的發起方服務和目標服務是否創建在同一個SQL Server實例中。如果是兩個實例,實例間的通信還需要創建經過證書認證或NT安全的身份認證,并且要創建端點、路由以及對話安全模式。

3、如果沒有啟用,則在多方參與的數據庫中使用Alter Database命令設置Enable_broker以及Truseworthy數據庫選項。

4、為所有多方參與的數據庫創建數據庫主密鑰。

5、創建希望在服務之間發送的消息類型。

6、創建契約(Contract)來定義可以由發起方發送的各種消息以及由目標發送的消息類型的種類。

7、同時在兩方參與的數據庫中創建用于保存消息的隊列。

8、同時在綁定特定約定到特定隊列的多方參與的數據庫中創建服務。

二、實例

下面我們通過一個示例來實現以上步驟:

(一)、啟用數據庫的Service Broker活動

(二)、創建數據庫主密鑰

(三)、管理消息類型

使用CREATE MESSAGE TYPE( http://msdn.microsoft.com/en-us/library/ms187744.aspx )命令,

--注意,此處沒有定義消息的內容。實際的消息是消息類型的實例。

(四)、創建契約(Contract)

使用Create Contract( http://msdn.microsoft.com/en-us/library/ms178528.aspx

--發起方和目標的定義必須相同

(五)、創建隊列

隊列用來保存數據。使用命令Create queue( http://msdn.microsoft.com/en-us/library/ms190495.aspx

(六)、創建服務

服務定義端點,然后使用它來將消息隊列綁定到一個或多個契約上。服務使用隊列和契約來定義一個或一組任務。有點拗口,是不是?

服務是消息的發起方和接收方強制約定的規則,并將消息路由到正確的序列。

使用Create Service( http://msdn.microsoft.com/en-us/library/ms190332.aspx )命令。

(七)、啟動對話

對話會話(dialog conservation)是在服務之間進行消息交換的操作。

使用Begin Dialog Conversation( http://msdn.microsoft.com/en-us/library/ms187377.aspx ) 命令創建新的會話。使用Send( http://msdn.microsoft.com/en-us/library/ms188407.aspx )來發送消息。使用End Conversation命令( http://msdn.microsoft.com/en-us/library/ms177521.aspx )結束會話。

(八)、查詢隊列中傳入的消息

查詢結果:

(九)、檢索并響應消息

使用Receive語句( http://msdn.microsoft.com/en-us/library/ms186963.aspx )從隊列中讀取行(消息),也可以刪除已經讀取的消息。Receive的結果可以填充到常規表中,也可以在局部變量中執行其他操作,或發送到其他service Broker消息。如果消息是XML數據類型的消息,則可以直接借助TSQL的XQuery來操作。

(十)、結束會話


三、小結

本文通過一個實例演示了一個用來發送圖書訂單消息分發控制數據庫的簡單的消息交換應用程序。發起方發送圖書訂單,發回一個響應,并在兩個數據庫上使用END Conservation結束會話?,F實場景中可以轉換為其他消息類型、契約、服務和隊列。合理運用Service Broker應用程序的異步特性可以防止因應用程序掛起而導致業務系統產生瓶頸。

本文參考:

1、SQL Server 2005 Service Broker 初探

http://msdn.microsoft.com/zh-cn/library/ms345108%28v=sql.90%29.aspx

2、SQL Server 2008 Transact-SQL Recipes: A Problem-Solution Approach

http://www.amazon.com/Server-2008-Transact-SQL-Recipes-Problem-Solution/dp/1590599802

邀月注:本文版權由邀月和CSDN共同所有,轉載請注明出處。
助人等于自助! 3w@live.cn



SQL Server 2008中Service Broker基礎應用(上)


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。?!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 可米影院 | 久久大香香蕉国产免费网站 | 国产一区二 | 天堂久久久久久中文字幕 | 奇米视频888| 自拍偷拍亚洲欧美 | 成人亚洲欧美日韩在线 | 欧美福利 | 边摸边吃奶边做激情叫床 | freexxxx性女hd性吃奶 | 成人不卡 | 99青青草| 欧美日韩精品一区三区 | 亚洲精品一区二区三区蜜桃久 | 国产亚洲精品久久久久久久网站 | 日韩有码一区二区三区 | 亚洲综合国产 | 大插香蕉 | 久久亚洲欧美日韩精品专区 | 欧美激情免费在线 | 精东视频污| 欧美第一页草草影院 | 国产一区二区三区在线观看免费 | 天天天操| 91久久国产综合久久 | 久久久人成影片一区二区三区 | 精品国产一区二区三区性色av | 久九精品| 欧美一级黄色片在线观看 | 99re视频在线观看 | 日韩欧美一区二区三区免费观看 | 中文在线视频 | 久久精品a一级国产免视看成人 | 精品久久久久久国产 | 特黄做愛又硬又大A片视频 小视频在线看 | 亚洲成人免费在线 | 很黄很污的网站 | 亚洲成人免费视频在线观看 | 日韩在线电影 | 久久99热只有视精品6国产 | 亚洲一区二区免费看 |