Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 需要关于归档大型SQL Server表的建议吗_Sql Server_Database_Database Design - Fatal编程技术网

Sql server 需要关于归档大型SQL Server表的建议吗

Sql server 需要关于归档大型SQL Server表的建议吗,sql-server,database,database-design,Sql Server,Database,Database Design,我们的SQL Server数据库SQL Server 2008标准版,因此R2在存储数年的数据后变得越来越大。因此,我们正在考虑将可能超过一年的旧数据移动到存档数据库中。有很多原因可以解释为什么我们可以从更小的生产数据库中获益 这就是我计划如何以股票数据库为例来实现这一点。对于股票数据库,现在将有股票和股票档案数据库。StockResults表将在Stock数据库中命名为StockResults\u Current,在Stock\u Archive中命名为StockResults\u Archi

我们的SQL Server数据库SQL Server 2008标准版,因此R2在存储数年的数据后变得越来越大。因此,我们正在考虑将可能超过一年的旧数据移动到存档数据库中。有很多原因可以解释为什么我们可以从更小的生产数据库中获益

这就是我计划如何以股票数据库为例来实现这一点。对于股票数据库,现在将有股票和股票档案数据库。StockResults表将在Stock数据库中命名为StockResults\u Current,在Stock\u Archive中命名为StockResults\u Archive。在股票数据库中会有一个名为StockResults的视图,它将两者结合起来。我们会定期将数据存档,即将其移动到Stock_archive数据库。这是基本的想法

我已经考虑过通过将旧数据放在不同的文件组中来对这些表进行分区,但我希望使主数据库保持小型,而不仅仅是一些数据文件

有人试过类似的方法吗?或者你有没有建议尝试以这种方式归档?或者可以推荐一个更好的方法

我不太关心归档数据的性能,但我不希望当前数据的读写受到影响。我们的报告使用StockResults等表格

我计划对所有存储大量数据的事务表执行此操作


任何建议都将不胜感激。

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

请参阅此处以获取一些链接-

如果您还没有一个多维数据集,那么将一个多维数据集作为报告平台的一部分是值得研究的


祝你好运

数据仓库是一种选择,但我认为您可以使用部分表来归档和分割大数据

您可以通过一个参数分割所有数据,例如StockDate。您可以将每个部件单独存储在.mdf文件中,当然,如果需要,您可以将此文件存储在另一个驱动器中


如果使用部分表拆分数据,当您查询SELECT*FROM STOKRESULT时,您可以看到所有数据,但您知道它们正在获取单独的文件。

destive=>separate@蒂比:你完全正确: