来自不同数据库的表之间的关系

时间:2011-12-19 12:31:27

标签: sql-server database relationship

是否可以在SQL Server 2008中的不同数据库中定义表之间的关系?你能推荐一个在线教程来研究吗? (我更喜欢ASP.NET,C#)

2 个答案:

答案 0 :(得分:13)

不,您不能在数据库之间使用外键。

数据完整性仅在单个数据库中。如果您需要跨数据库的事务一致性,那么您应该使用单个数据库。主要问题是备份/恢复:恢复后最终会出现数据损坏,因为备份不一致。

最近的博客文章"One Database or Ten?"详细解释了

如果你需要这个,你可以使用触发器,并准备好破坏数据

答案 1 :(得分:5)

是的,你可以但不能使用外国钥匙:

  1. 您可以使用特定的存储过程来检查一致性 在这种情况下,您必须让用户只使用这些过程 DBS中的所有CRUD操作

  2. 触发器,会检查相同的

  3. 以上所有必须在正确隔离的事务中运行 请确保您的“刚检查”值不会被删除     矩