1

我在 SQL Server 中有两个数据库。我想找出早于(比如说 3)年的数据。

我知道数据库创建日期,目前我有大约 550 GB(两个数据库)的数据跨越 7 年,我想知道“有多少数据库数据(总共 550 GB)超过 3 年或( 5年)'?

我正在浏览此链接,但无法获得预期的数据。

SQL SERVER – 查询当前数据库中每个表的行数、列数、字节大小 – 查找数据库中最大的表

我现在想到的一个解决方案是找出占7年的总行数(很容易得到这个数字),占5年的总行数(从创建日期开始)(不知道如何获得这个号码)。

那么对于 row_count_7_years 占 550 GB 的数据,row_count_5_years 是多少?我会得到大约数据。

请帮忙

4

2 回答 2

2

为此目的,您应该保留一些日期时间字段,如 marc 所述。我想你没有。

在您建议的解决方案中,您可以从表中获取全部行数(我想是 7 年),但您将无法在 5 年内获取这些行,因为没有日期。

您可以获得 7 年的全部记录数并将它们除以年数,并且只有在您的数据库平均完成的情况下,您才能查询 top (numberOFRows in one year)*5 并按 row_number 排序()。结果 - 您应该删除的行。但我不建议您使用此解决方案。

我建议您更改表格并为每个表格添加日期时间列。在此之前,您应该对整个日期进行备份并将其复制到某处。3年后,您将能够进行清理。

于 2013-06-03T08:45:49.133 回答
0

如上所述,你应该有一个日期列,但是如果你没有,根据你表中的关系,你可能能够估计与其他具有日期时间列的表查找关系的行数,否则如果你有一个备份(不太可能但仍然)您可以恢复它以识别增量

于 2014-02-07T14:46:43.323 回答