gpt4 book ai didi

sql - 在 SQL Server 中归档大量旧数据

转载 作者:行者123 更新时间:2023-12-04 14:18:36 25 4
gpt4 key购买 nike

很简单的问题。

我有一个 70gb 的大型数据库,其中有五个表中的四个,每个表包含大约 5000 万行。这些表包含大约 6 年的数据。我们将数据库中的空间量限制为 80GB,我们将在 future 6 个月左右的时间内迅速接近这一目标。

我们只需要在实时数据库中保留大约两年的数据。在不使实时数据库脱机(它是 24/7 的数据库)的情况下归档旧数据的最佳方法是什么?

我们正在使用共享存储的主动-被动设置在群集环境中运行 SQL Server 2008 R2 Standard。

谢谢。

最佳答案

当您说存档时,这意味着“需要保留数据以备后用”。

除此之外,如果数据现在不可用,那么如果您依赖磁带备份,就会面临丢失数据的风险。此外,您需要有磁盘空间以在将来恢复它。

当然,这些不是无法解决的问题,但除非事情很关键,否则我会保持数据在线,直到证明不是这样。我的经验表明,人们在您最不期望的时候想要存档数据......

一种选择(问题被标记为 SQL Server 2008)是 compression of data .例如,您可以压缩在线存档表。

创建归档表。

SELECT * INTO ANewArchiveTable
FROM CurrentTable
WHERE SomeDateColumn <= DATEADD(year, -2, GETDATE())

或使用 partitioning达到同样的目的

如果数据在线,您可以进一步减少“当前”表,并且在压缩存档表/分区中也有早于 3 个月的数据

关于sql - 在 SQL Server 中归档大量旧数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6052881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com