技術機器使用SQL Server Express來收集溫度等數據......數據庫每隔幾秒鐘更新一次(即低流量)。該機器及其SQL Server必須獨立工作。技術計算機(即SQL Server)有時會被機器關閉。Service Broker - 如何發送帶有收集數據的表格? XML消息還是不是?
中央SQL Server標準版應該從上述許多機器收集數據。
你會推薦什麼樣的場景?
- 機器在創建時發送每個新行(即每隔幾秒鐘一行)。
- 機器激活每小時發送數據的過程,並將所有行與新收集的數據一起發送。
- 還有其他的方法嗎?
如果我很好地理解Service Broker的想法,將會有一個單一的請求消息類型名稱,一個單一的回覆消息類型名稱,一個合同名稱。 SQL機器上的相關數據庫將分別具有一個消息隊列和相關服務。
我對Service Broker很新。教程示例顯示如何以XML片段發送消息。發送表格的行是真實世界的方式嗎?如何可靠地將SELECT
命令的結果轉換爲XML片段並返回?
感謝,切赫
注意:的相關問題Service Broker — how to extract the rows from the XML message?已創建。
謝謝!好。保持發送站點儘可能簡單似乎是合理的 - 即通過Service Broker導致發送每個新行的觸發器。如果Express機器等待任何答覆,這有意義嗎?問題是單向發送數據。備註:Express和Standard服務器將在一種物理上固定的環境中工作。 10 GB也綽綽有餘。這裏沒問題。 – pepr 2012-07-19 08:32:05
Express應處理回覆,例如。它應該有一個激活的過程附加到其發件人隊列。即使在這種單向流量的情況下,也會有一個回覆:EndDialog應該由您的centrasl標準服務器發送。閱讀http://rusanu.com/2006/04/06/fire-and-forget-good-for-the-military-but-not-for-service-broker-conversations/瞭解爲什麼Express會結束對話首先是危險的。 – 2012-07-19 09:07:33
順便說一句,即使在處理雙向流量時,也不應該等待SSB的回覆。永遠不要'發送'然後'等待(接收)'等待迴應。答覆可能會在幾分鐘,幾小時甚至幾天後發生(認爲中央服務器剛剛發生故障並花了24小時將其恢復在線狀態)。 SSB應用程序應該由異步事件驅動。 – 2012-07-19 09:09:51