2014-01-21 56 views
0

我有2个SQL Server实例,在不同服务器上。一个是生产实例,每天都有大量的读写操作。另一个用于外部应用程序使用来自生产sql实例的少数表的副本。 目前我们有一个SSIS作业,它可以在生产sql和外部sql服务器之间每天进行一次比较和更新。它需要15分钟,并影响生产SQL Server的性能。 我们希望增加正在复制的数据的频率,使其在两台服务器上或多或少同步。什么是更好的方法?增加SSIS包的频率或创建复制或使用日志传送?任何答案真的很感激。谢谢。SSIS V/S复制V/S logshipping

回答

0

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

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

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

+0

感谢您的回复。目前,所有表格中的总记录总数为350万,但SSIS目前正在查看增量并更新它。如果我们使用复制,你认为这会花费更长时间吗? – come2searcher72

+0

有了复制您创建的所有当前记录的初始快照,然后将此用户数据库(创建初始快照可能需要一段时间)一旦做到这一点,记录被立即发送到用户,因为他们被写入日志上发布商,因此需要一些时间才能设置,但随后更新将以近乎实时记录的方式应用。 – steoleary

+0

再次感谢您的回复。最后一个问题是,你的复制是否会对生产服务器产生性能影响?基本上,这将是比SSIS – come2searcher72