我有两个单独的SQL Server 2005数据库(在同一服务器上)
我想在用户和人员表之间强制执行映射。我假设外键不能跨数据库映射,所以我想知道如何执行以增强关系的完整性。
最佳答案
确实不支持跨数据库外键
Msg 1763, Level 16, State 0, Line 2
Cross-database foreign key references are not supported.
如果您确实想在数据库端实现参照完整性,则必须依靠触发器。 (我不推荐)
为了使代码更具可维护性,可以为要检查引用完整性的表创建同义词。
CREATE SYNONYM myTable FOR otherdatabase.dbo.myTable;
这将使“手动”检查更加容易,因为您不能在同义词上创建外键。