【问题标题】:SQL Server - Syncing two databaseSQL Server - 同步两个数据库
【发布时间】:2009-01-15 17:19:50
【问题描述】:

我们有一个仓库数据库,其中包含到目前为止一年的数据。我想创建代表过去 3 个月数据的报告数据库以用于报告目的。我希望能够使两个数据库保持同步。现在,我每 10 分钟执行一次包,该包将从仓库中获取最新的行并将它们添加到报告数据库中。问题是我只得到新行而不是新更新。

我想知道解决这种情况的各种方法。

谢谢

【问题讨论】:

    标签: sql sql-server database database-design


    【解决方案1】:

    研究复制、镜像或日志传送

    【讨论】:

    • 我已经准备好复制、镜像等。他们谈到了 2 个独立的数据库服务器。我需要在同一台服务器上同步两个数据库。使用您所说的技术,这仍然可能吗?
    • 是的,您可以在同一台服务器上的两个数据库之间进行复制。
    【解决方案2】:

    如果您使用的是 SQL 2000 或更低版本,复制是您的最佳选择。由于您每十分钟执行一次,因此您绝对应该查看事务复制。

    如果您使用的是 SQL 2005 或更高版本,则可以使用更多选项。 SQLMenace 上面建议的数据库快照、日志传送和镜像。这些的适用性取决于您的硬件。您必须进行一些研究才能选择最适合您需求的产品。

    【讨论】:

      【解决方案3】:

      您可能应该阅读有关复制的信息,或询问您的数据库管理员。

      【讨论】:

        【解决方案4】:

        是否可以向该数据库添加列?您可以将 Last_Activity 列添加到数据库并编写一个触发器来更新该行上的日期/时间戳以反映最新的编辑。对于任何新条目,日期/时间将反映添加行时的时间戳。

        这样,当您抓取过去三个月时,您将抓取过去三个月的活动,而不仅仅是新的东西。

        【讨论】:

        • 这是一个有趣的解决方案。不过,我将不得不给这个。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-21
        相关资源
        最近更新 更多