0
A
回答
2
使用而不是觸發器(根據其他數據庫是否位於不同服務器上,您可能需要也可能不需要鏈接服務器)。確保觸發器可以處理多行插入/更新/刪除。我還建議將檢查失敗的記錄移到異常表中。
3
鏈接的服務器不起作用。
FK必須指向本地表。
首選的方法是不是要做到這一點,儘管你可以拉幾個黑客來實現它。
例如,你可能有觸發器原因引用被創建/檢查,但我不會認爲等同於FK約束。
相關問題: Can you have a Foreign Key onto a View of a Linked Server table in SQLServer 2k5?
2
外鍵不能跨數據庫界限去。如果你嘗試這樣做,你會得到:
消息1763年,級別16,狀態0,第1行
跨數據庫的外鍵 引用不被支持。外鍵* **
消息1750,級別16,狀態0,1行
無法創建約束。查看以前的錯誤。
如果您需要強制執行某種兩個單獨的數據庫之間的關係,然後是 - 你可能需要一個鏈接服務器(如果第二個數據庫在第二臺服務器上),並可能觸發 - 但所有這些事情將非常難以正確,非常低效且非常容易出錯。
你可以做到這一點的一種方法是數據複製 - 將要引用的表複製到源數據庫中,然後與該複製表建立外鍵關係。但這永遠不會是「實時」和「實時」 - 數據複製也會有一點滯後。
相關問題
- 1. SQL Server 2008中兩個數據庫之間的外鍵關係
- 2. SQL Server 2008 R2的加載備份到另一個數據庫
- 3. SQL Server 2008數據庫發佈嚮導
- 4. 將數據表複製到SQL Server 2008中的另一個數據庫
- 5. SQL Server 2008外鍵約定
- 6. 添加外鍵,SQL SERVER 2008
- 7. SQL Server 2008外鍵錯誤
- 8. sql server 2008 - 無外鍵的整數列
- 9. 如何將SQL Server 2008數據庫圖導出到另一個數據庫?
- 10. 使用SQL Server 2008中的另一個數據庫中的值更新記錄?
- 11. SQL Server 2008中的外鍵大小寫
- 12. SQL Server 2008中的數據庫備份
- 13. SQL Server 2008中的數據倉庫
- 14. SQL Server 2008:將所有表中的內容從一個數據庫複製到另一個數據庫
- 15. 在SQL Server 2008中,我應該如何將數據庫中的數據複製到另一個數據庫?
- 16. 將數據從一個數據庫(sql server 2008)傳輸到另一個數據庫(sql server 2008)的最佳方式使用不同模式
- 17. INSERT到另一個表(SQL Server 2008中)
- 18. 從SQL Server 2008數據庫傳輸/轉換數據到另一個
- 19. SQL SERVER 2008的另一列
- 20. 數據庫,sql server,sql哪個關鍵?
- 21. 如何寫入SQL Server 2008中的外部審計數據庫?
- 22. 在SQL Server 2008數據庫項目中管理數據庫的一個子集
- 23. 在外部數據庫中添加指向表的外鍵
- 24. SQL Server 2008中的腳本嚮導不創建數據庫
- 25. 附加數據庫SQL Server 2008中
- 26. SQL Server 2008數據庫中學
- 27. SQL Server數據庫與另一個數據庫表同步
- 28. 從另一個數據庫直接還原SQL Server數據庫
- 29. 將SQL Server數據庫複製到另一個數據庫
- 30. 如何將SQL Server 2008 R2數據庫還原到SQL Server 2008?
好易遵循規則!我在討論_preferred_,因爲項目規格聲明某些特定的表必須位於主數據庫之外。我想我會混合你關於觸發器的建議,以及@HLGEM關於允許多次插入/刪除等的想法以及一個異常表來使其可審計。 – chok68
@chok他們可以在同一臺機器上的不同數據庫? – Matthew