簡體   English   中英

我可以確保SQL Service Broker中對話對話的順序嗎?

[英]Can I ensure the order of dialog conversations in sql service broker?

因此,我有一個“ A”服務器和一個“ B”服務器。 我們正在使用SQL Service Broker執行復制。 我們擁有的應用程序需要將數據寫入“ A”服務器或“ B”服務器。 (一個可能已關閉,另一個應接管)

數據僅在存儲過程中被寫入數據庫,存儲過程被包裝在事務中以使表中的數據保持一致。

這些事務之一將包括要發送到對等服務器的所有消息。 因此,在我的應用程序代碼中,當我嘗試提交事務時,它應該將所有數據寫入表,並將消息發送到對等服務器。

但是,如果對等服務器已關閉,則消息將在sys.transmission_queue中等待。

對話對話中的消息順序是可以保證的,但是我可以確保對話對話將按照創建對話的順序進行處理嗎?

例如,如果“ B”服務器關閉,我可能會遇到問題,用戶將數據寫入“ A”服務器。 再次備份“ B”服務器后,如果這些對話會話未按順序處理,則它們可能無法正常工作。 (他們可以嘗試使用錯誤的外鍵或類似的東西插入數據)。

我正在以下假設下工作:

  1. 我應該為每個事務進行一次對話。

  2. 解決方案的形式必須是通過sql服務代理進行復制。 (這是在數據庫的其他部分完成的,因此使用替代策略的任何理由都必須具有吸引力)。

您應該使用“代理優先級”。 http://msdn.microsoft.com/en-us/library/bb934170.asp

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM