如何处理SQLServer存档

时间:2017-01-18 09:23:31

标签: sql-server bigdata

您好我需要帮助来处理BigData

我有一个生产BDD,它获得了大量信息。 大约50张桌子,但其中一些要求真的很少。 我有一个表历史记录,记录其他表中的每个更改:

  • IdElement

  • TypeElement

  • ColumnChange

  • 的OldValue

  • 的NewValue

  • 作者

此表格大

SELECT COUNT(*) FROM Changes;

SELECT COUNT(*) FROM Changes c
Left Join ChangeSets cs on cs.IdChangeSet = c.ChangesetID 
Where cs.Date > '2016-12-18';

22分钟执行.... 174 011 299行  2 4048 318行不到一个月

当我需要观察客户端导致错误的行为时,我不需要进行一些检查。

我想在一个新的数据库中传递超过一个月的每个数据,并使用相同的历史记录表,当我需要信息时可以请求。

有什么方法可以自动完成吗?

这是一个最好的工具吗?

是否有必要?(我没有处理大数据的基础设施,我的公司不想升级很多,所以我必须找到更好的方法让我的SQL Server更轻松)

它看起来像是因为在一个测试数据库中删除了所有超过1个月的查询,其中db的速度更快(当然关于历史表)。

我通常不会检查客户5个月前做了什么,但出于法律和安全原因需要保留它

PS:我还为测试和调试恢复了很多数据库。如果db更大,它会更长。因此,在另一个数据库中存档也可以帮助我更快地恢复它们以用于测试目的

1 个答案:

答案 0 :(得分:0)

当然,最好的方法是每天在数据库不在生产时间时自动将其归档(我认为在工作时间之后)。

您可以检查this link以获得上述解决方案。

A,还有另一种手动方法可以做到这一点。

  1. 将原始数据库备份到另一个存储(以防您需要旧数据)
  2. 从原始数据库中删除所有不需要的数据,将所需的数据保留在生产数据库中

要删除数据库中的数据,请遵循these tips.

祝你好运!