【问题标题】:SSIS v/s Replication v/s logshippingSSIS vs 复制 vs 日志传送
【发布时间】:2014-01-21 12:04:50
【问题描述】:

我有 2 个 SQL 服务器实例,位于不同的服务器上。一个是生产实例,每天都会进行大量读写操作。另一种是外部应用程序使用生产 sql 实例中的几个表的副本。 目前我们有一个 SSIS 作业,它每天从生产 sql 到外部 sql 服务器比较和更新一次。它需要 15 分钟,并且会影响生产 sql server 的性能。 我们希望增加复制数据的频率,以便在两台服务器上或多或少同步。什么是更好的方法?增加 SSIS 包的频率或创建复制或使用日志传送?任何答案都非常感谢。谢谢。

【问题讨论】:

    标签: sql sql-server-2008 ssis database-replication log-shipping


    【解决方案1】:

    增加 SSIS 包的频率将达到您想要的效果,但代价是增加对生产系统的影响(您已经指出这是一个问题),因此这听起来不是一个理想的解决方案。

    日志传送可能不是一个好的解决方案,因为在恢复日志备份时用户将无法使用辅助数据库,这意味着根据您计划运行它的频率,它也不是一个合适的选项。

    如果您只是将记录从几个表复制到报告数据库(或类似数据库),则可以使用事务复制,它会为您提供最新数据,而对生产箱性能的影响非常小。它确实为恢复等带来了一些复杂性,但如果您确保阅读并理解其中的含义,它可能是最好的解决方案。

    【讨论】:

    • 感谢您的回复。目前所有表中的总记录为 350 万条,但此时 SSIS 会查看增量并对其进行更新。如果我们使用复制,您认为需要更长的时间吗?
    • 通过复制,您可以创建所有当前记录的初始快照,然后将其应用于订阅者数据库(创建初始快照可能需要一段时间)一旦完成,记录将立即发送给订阅者它们被写入发布者的日志中,因此设置需要一些时间,但随后将逐条记录地近乎实时地应用更新。
    • 再次感谢您的回复。最后一个问题,你认为复制会对生产服务器产生性能影响吗?基本上,与SSIS相比,在资源消耗方面会更糟还是更好
    • 我想除非你有一个非常高的事务率,否则它对 prod 服务器的影响会较小,因为它只是读取事务日志,而 SSIS 包将不得不评估整个数据集来计算增量(我想除非你使用更改数据捕获)
    猜你喜欢
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 2016-03-05
    • 2013-01-19
    • 2017-11-07
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    相关资源
    最近更新 更多