【问题标题】:backup data for reporting用于报告的备份数据
【发布时间】:2010-09-09 22:01:35
【问题描述】:

在 sql server 2005 中将数据从销售表传输到销售历史表的最佳方法是什么。销售历史表将用于报告。

【问题讨论】:

  • 不应将备份用于报告(或其他任何用途),但应将其保存在安全的地方。我建议用“复制”来改变这个词。

标签: sql-server database


【解决方案1】:

如果您只想将数据移动到另一个表,请使用 BulkCopy/BulkInsert。如果您想构建报告,我建议您使用 BI 解决方案,例如 MS 分析服务 (OLAP)。

在同一个数据库中维护两个或多个历史/存档表很困难,而且在我看来很难看。对于报告解决方案,无论如何您都将考虑该信息的所有表格。仅当您要将数据放在一边并且长时间不接触它时,才应使用历史/存档表,即。将其存档在操作数据库之外。

【讨论】:

    【解决方案2】:

    批量复制速度很快,它不会使用事务日志。在一天结束时运行一批。

    从生产服务器中删除复制的记录是一种不同的情况,需要根据该服务器的维护方法/计划进行规划。您的报告服务器解决方案不应干扰或影响生产服务器。

    请记住,您的报告服务器并不是数据的备份,而是专门用于报告目的的副本。

    同时检查报告服务器的服务器设置是否为Simple recovery model

    【讨论】:

      【解决方案3】:

      看看 SSAS。 OLAP 专为报告而构建,易于使用 excel 数据透视表等工具进行查询。

      【讨论】:

        【解决方案4】:

        除非您要移动大量数据,否则简单的存储过程应该可以解决问题。 sql server job 可以管理调用 proc 的时间。

        【讨论】:

          【解决方案5】:

          大多数解决方案需要 2 个步骤; - 将记录从源复制到目标 - 从源中删除记录。 您的源表必须有一个主键。

          “最佳”方法取决于很多事情。
          有多少记录? 这是生产环境吗? 你有什么工具?

          【讨论】:

            猜你喜欢
            • 2010-10-27
            • 1970-01-01
            • 2014-11-25
            • 2021-04-10
            • 2016-01-29
            • 2011-07-14
            • 1970-01-01
            • 2010-09-05
            • 1970-01-01
            相关资源
            最近更新 更多