2014-11-06 116 views
0

我有一個用戶數據庫被鎖定到除登錄服務以外的所有服務。這爲所有相關服務提供了單點體驗。如何保持2個SQL Server表列在不同的數據庫中同步

我希望能夠訪問用戶從單獨的數據庫顯示名稱,但由於訪問限制,我需要存儲在請求服務的數據庫信息。

如果SecureDatabase.UserTable包含用戶名和顯示名稱,我怎麼能保持這個數據與UnsecureDatabase.UserTable同步。

我現在唯一能想到的方法是,當用戶登錄到網站並對不安全的數據庫執行Upsert時,從票證上的單點登錄提出索賠,但這意味着顯示名稱不會實時更新(也永遠不會,如果用戶從未登錄到特定網站再次)

有沒有一種方法,我可以實時實現這一目標。我正在運行Sql Server 2014標準。

+0

有沒有原因你不能使用觸發器或複製? – 2014-11-06 13:04:07

+0

我沒有嘗試複製,但我的問題是當我創建一個訂閱它下降並重新創建表。這意味着它會丟失它上面的所有索引以及任何已經創建到其他表的關係。我不確定是否有解決方法?如果這樣複製將是完美的。 – Oli 2014-11-06 15:40:22

回答

0

也許跨國複製可以使用,因爲我相信快照複製再現了表。如果您必須使用快照複製,則可能會運行SQL代理作業以在快照完成後重新創建所需的關係(根據表大小,使用情況等,此第二種情況可能不是最佳方式)。

對於索引,根據二次服務器如何使用中的數據,所需要的索引,可以不必是相同的。

+0

我曾經/正在使用交易。隨着索引複製,我只是確保我在輔助主要上創建了正確的索引。至於關係......這是我必須生活的東西,直到我找出一種方式。 – Oli 2014-11-10 01:38:30