【问题标题】:What's the best way to ensure referential integrity on a replicated database?确保复制数据库的参照完整性的最佳方法是什么?
【发布时间】:2012-02-20 18:09:01
【问题描述】:

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

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

2) 如果我在一个事务中对源数据库执行插入父表然后插入子表 - 复制数据库是否也会以相同的方式运行? IE。在复制数据库记录必须存在于主表中,然后在子表中引用它?

谢谢

【问题讨论】:

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    使用复制并不能保证您的引用完整性

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

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

    【讨论】:

    • 我了解源数据库的参照完整性。您如何维护/确保应用参照完整性规则将记录插入/删除到复制数据库中?
    猜你喜欢
    • 1970-01-01
    • 2010-09-05
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-15
    • 1970-01-01
    • 2016-05-31
    相关资源
    最近更新 更多