我需要創建一個SQL Server數據庫,它將通過某個複製機制從另一個數據庫接收更新。我需要編寫插入,更新和刪除觸發器,這些觸發器會在發生這種複製時執行。複製時的SQL Server觸發器
我有觸發器的經驗,但沒有複製。
我應該使用事務性還是合併複製,還是這很重要?
在執行簡單SQL插入語句時設計運行的觸發器是否也會在發生複製時運行?
我需要創建一個SQL Server數據庫,它將通過某個複製機制從另一個數據庫接收更新。我需要編寫插入,更新和刪除觸發器,這些觸發器會在發生這種複製時執行。複製時的SQL Server觸發器
我有觸發器的經驗,但沒有複製。
我應該使用事務性還是合併複製,還是這很重要?
在執行簡單SQL插入語句時設計運行的觸發器是否也會在發生複製時運行?
嗯,這取決於。
如果您打算應用的更新是隔離表,即給定表的所有數據都來自發布服務器,那麼您可以使用事務複製。
另一方面,如果您希望將表內容(即訂單表)與兩個站點上的訂單組合在一起,那麼您應該考慮使用合併複製。
關於觸發器,有一個「不適用於複製」的配置,您可以應用它來控制其行爲。請參閱以下文章以供參考。
http://msdn.microsoft.com/en-us/library/ms152529.aspx
乾杯,約翰
的CREATE TRIGGER syntax on MSDN:
CREATE TRIGGER
...
[ NOT FOR REPLICATION ]
這表明上的複製執行爲觸發器的默認行爲,並且可以通過指定NOT FOR REPLICATION
被禁用。
很難與您所提供的信息來回答你的問題。我在你的問題中添加了一些評論,要求澄清信息。
這裏是MSDN上的文章,應該有所幫助:http://msdn.microsoft.com/en-us/library/ms152529.aspx
默認情況下,將觸發複製,除非「NOT FOR複製」期間火規定。它們與簡單插入語句的工作方式相同。
交易和合並複製是非常不同的,但觸發器對於這兩個選項的行爲相似。
有幾種替代方案可供選擇,而不是觸發器。
複製是雙向發生還是單向發生?涉及多少個SQL Server實例? – 2009-02-16 05:29:28