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數據庫發佈嚮導
- 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)傳輸到另一個數據庫(sql server 2008)的最佳方式使用不同模式
- 12. 從SQL Server 2008數據庫傳輸/轉換數據到另一個
- 13. INSERT到另一個表(SQL Server 2008中)
- 14. 數據庫,sql server,sql哪個關鍵?
- 15. SQL SERVER 2008的另一列
- 16. 在SQL Server 2008數據庫項目中管理數據庫的一個子集
- 17. SQL Server數據庫與另一個數據庫表同步
- 18. 從另一個數據庫直接還原SQL Server數據庫
- 19. SQL Server 2008數據庫中學
- 20. 在同一實例中同步兩個Sql Server 2008數據庫
- 21. 彙總/遞歸另外的SQL Server 2008
- 22. 指向另一個表中的多行的外鍵
- 23. SQL Server 2008中單個列上的多個外鍵約束
- 24. 將多個SQL Server 2005數據庫遷移到SQL Server 2008
- 25. SQL數據庫發佈嚮導與SQL Server 2008
- 26. SQL Server - 從另一個數據庫更新一個數據庫的模式
- 27. SQL Server 2008的差異數據庫
- 28. SQL Server 2008的數據倉庫
- 29. 數據庫部分函數(sql server 2008)
- 30. 在另一個數據庫表中的MySQL外鍵?
好易遵循規則!我在討論_preferred_,因爲項目規格聲明某些特定的表必須位於主數據庫之外。我想我會混合你關於觸發器的建議,以及@HLGEM關於允許多次插入/刪除等的想法以及一個異常表來使其可審計。 – chok68
@chok他們可以在同一臺機器上的不同數據庫? – Matthew