确保复制数据库的引用完整性的最佳方法是什么?

时间:2012-02-20 18:09:02

标签: sql sql-server-2005 database-replication referential-integrity

使用SQL SERVER 2005,我对复制和参照完整性有几个问题。

1)复制是否处理参照完整性?

2)如果我执行Insert to Parent表,然后插入到子表,在一个事务中,在源DB上 - Replicated DB的行为方式是否相同?即在复制数据库中,在子表中引用之前,必须在主表中存在记录吗?

由于

2 个答案:

答案 0 :(得分:0)

使用复制不保证您的参照完整性

当从主表中删除行并且该记录仍存在于其所引用的外键表中时,将保持参照完整性

使用主键和外键将保证它 只是为了获得更多信息,有像“ON DELETE CASCADE”这样的命令 如果从外键删除

,将从主要密钥中删除密钥

答案 1 :(得分:0)

假设复制是事务性的,并且您的发布者具有参照完整性,那么任何订阅者都将保持同步,因此将保持参照完整性。插入顺序是一致的。