簡體   English   中英

具有觸發器並發運行的SQL事務復制

[英]SQL Transactional Replications with triggers running concurrently

我已經設置了SQL Server事務復制以連續為兩個表(父記錄和子記錄)運行。 在訂戶端,我在兩個復制表上都有插入和更新觸發器。 這些觸發器均具有相同的代碼,該代碼查詢復制表中的記錄並修改訂戶數據庫其他表中的記錄。

我的問題是..這些觸發器會同時運行嗎? 我擔心一個表中的觸發器會中斷另一表中的觸發器完成的處理工作

觸發器將在應用更新的復制代理的上下文中運行。 代理使用可配置的連接數:

-SubscriptionStreams [0|1|2|...64]

是每個分發代理允許與訂閱服務器並行應用批量更改,同時保持使用單個線程時存在的許多事務特征的連接數。 對於SQL Server Publisher,支持的值范圍是1到64。 僅當Publisher和Distributor在SQL Server 2005或更高版本上運行時,才支持此參數。 對於非SQL Server訂閱服務器或對等訂閱,此參數不受支持,或者必須為0。

由於事務語義已由復制代理正確維護,因此,如果您的更新具有正確的事務語義,則它們不會在訂閱服務器上發生沖突(因為它們在發布服務器上不會發生沖突)。 如果是這樣,那么事務邊界的設計就會出現問題,您需要相應的解決方案,方法是回到繪圖板上,並使用正確的事務語義設計應用程序。

暫無
暫無

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

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