【发布时间】:2010-09-09 22:01:35
【问题描述】:
在 sql server 2005 中将数据从销售表传输到销售历史表的最佳方法是什么。销售历史表将用于报告。
【问题讨论】:
-
不应将备份用于报告(或其他任何用途),但应将其保存在安全的地方。我建议用“复制”来改变这个词。
标签: sql-server database
在 sql server 2005 中将数据从销售表传输到销售历史表的最佳方法是什么。销售历史表将用于报告。
【问题讨论】:
标签: sql-server database
如果您只想将数据移动到另一个表,请使用 BulkCopy/BulkInsert。如果您想构建报告,我建议您使用 BI 解决方案,例如 MS 分析服务 (OLAP)。
在同一个数据库中维护两个或多个历史/存档表很困难,而且在我看来很难看。对于报告解决方案,无论如何您都将考虑该信息的所有表格。仅当您要将数据放在一边并且长时间不接触它时,才应使用历史/存档表,即。将其存档在操作数据库之外。
【讨论】:
批量复制速度很快,它不会使用事务日志。在一天结束时运行一批。
从生产服务器中删除复制的记录是一种不同的情况,需要根据该服务器的维护方法/计划进行规划。您的报告服务器解决方案不应干扰或影响生产服务器。
请记住,您的报告服务器并不是数据的备份,而是专门用于报告目的的副本。
同时检查报告服务器的服务器设置是否为Simple recovery model。
【讨论】:
看看 SSAS。 OLAP 专为报告而构建,易于使用 excel 数据透视表等工具进行查询。
【讨论】:
除非您要移动大量数据,否则简单的存储过程应该可以解决问题。 sql server job 可以管理调用 proc 的时间。
【讨论】:
大多数解决方案需要 2 个步骤; - 将记录从源复制到目标 - 从源中删除记录。 您的源表必须有一个主键。
“最佳”方法取决于很多事情。
有多少记录?
这是生产环境吗?
你有什么工具?
【讨论】: