将sql表同步到另一个db sql表的最佳方法?

时间:2017-01-23 09:59:10

标签: sql sql-server tsql

我正在构建一个监视工具,它可以分析某些sql表中的信息,并根据一些可配置的标准创建一些图表和警报。但是,底层应用程序现在出现了一些错误。我认为这是因为我的查询在表上相当密集,导致它们被锁定一段时间,我的解决方法是将表同步到监视数据库并在那里进行操作。

你还有其他想法吗?如果我进行同步,那么在SQL服务器中同步表的最佳方法是什么?如果同步尽可能接近实时,我更喜欢。

1 个答案:

答案 0 :(得分:1)

如果您运行的是SQL Server 2008 R2或更高版本,Transactional Replication通常非常适合此类方案,并且可以支持近实时同步。以下是熟悉复制的几个链接

另一个解决方案是将事务数据库记录到报告数据库。但是

  1. 日志传送是异步操作,因此报告数据库中的数据状态将落后于事务数据库中的数据状态。
  2. 即使您最终仅使用几个表,也需要记录整个数据库。
  3. 从事务数据库还原时,报告数据库不可用。
  4. 因此与您的要求不符。