5

现在,我正在研究一种解决方案,将旧数据从大型工作数据库归档到具有相同架构的单独归档数据库中。我使用 SQL 脚本和 SQL Server 管理对象 (SMO) 从用 C# 编写的 .Net 可执行文件中移动数据。

存档的数据应该仍然可以访问,甚至(偶尔)可以更改,我们只是希望它不会妨碍工作数据库的精简和快速。

事实证明,处理大量数据并管理表之间的关系是一项相当大的挑战。

我想知道是否有更好的方法来使用 SQL Server 归档数据。

有任何想法吗?

4

3 回答 3

1

我认为,如果您仍然希望/需要可访问数据,那么对一些最大或最常用的表进行分区可能是一种选择。

于 2008-08-28T09:43:16.113 回答
1

是的,对文件组使用表和索引分区。

您甚至不必更改 select 语句,只要您想从结果中获得最后一点速度。

另一种选择是平衡两台服务器的工作负载以及它们之间的双向复制。

于 2008-08-28T09:49:41.743 回答
0

我们处于类似的情况。出于监管原因,我们无法在设定的时间段内删除数据,但我们的许多表变得非常庞大且笨拙,实际上,可以删除超过一个月的大部分数据,而不会出现日常问题。

我们目前以编程方式修剪表,使用自定义 .NET/shell 组合应用程序使用 BCP 备份文件,这些文件可以压缩并留在不碍事的网络共享中。这不是特别容易访问,但它更节省空间。(这很复杂,因为我们需要保留某些历史日期,而不是能够以特定大小截断或使用特定范围内的关键字段。)

我们正在寻找替代方案,但我认为令人惊讶的是,在这个讨论中没有太多的最佳实践!

于 2008-10-03T07:22:00.297 回答