2010-08-18 77 views
4

我们的SQL Server数据库(SQL Server 2008标准版,因此是R2)在多年存储数据时变得越来越大。因此,我们正在考虑将旧数据(可能超过一年)移动到存档数据库中。为什么我们可以从减少生产数据库中获益?有很多原因。需要关于归档大型SQL Server表的建议

这就是我计划这么做的原因(使用股票数据库为例)。对于库存数据库,现在会有库存和库存数据库。 StockResults表将在Stock数据库中命名为StockResults_Current,在Stock_Archive中命名为StockResults_Archive。在股票数据库中会有一个叫做StockResults的视图,它将这两者联合起来。我们会定期存档数据(即将其移至Stock_Archive数据库)。这是基本的想法。

我已经考虑通过将旧数据放入不同的文件组来划分这些表,但我想保留主数据库较小 - 而不仅仅是一些数据文件。

有没有人试过类似的东西?或者有尝试以这种方式存档的建议?或者可以推荐更好的方法?

我并不太在意存档数据的性能,但我不希望读写当前的数据会受到影响。我们的报告使用像StockResults这样的表格。

我打算对存储大量数据的所有事务表执行此操作。

任何意见将不胜感激。

回答

1

听起来像是一个完美的数据仓库场景。 您可以使用额外的StartDate和EndDate字段创建与现有库存表格匹配的表格,以便跟踪缓慢变化的维度。 然后,您也可以使用SSIS包来调查ETL。

在这里看到一些为链接 - Good place to start learning data warehousing?

如果你没有一个已经会再是值得探讨把一个立方体一起作为报告平台的一部分。

祝你好运!

0

DataWareHouse是一个选项,但我认为你可以使用部分表来归档和分割你的大数据。

您可以按参数分割所有数据(例如StockDate)。你可以存储每个部分的单个.mdf文件,当然如果你想要的话你可以存储这个文件另一个驱动器。

如果你用部分表拆分数据,当你查询“SELECT * FROM StokResults”时,你可以看到所有的数据,但你知道他们正在获取绝望的文件。