我正在尝试缩小用于系统日志监控的 SQL 数据库。数据库现在大约有 43GB,我确定已经好几年没有清理过了。最近有人辞职后我继承了这个数据库,我不知道如何访问或清理它。我尝试对数据库或文件执行标准 SHRINK,似乎将其缩小到大约 40GB,但几分钟内当新条目记录到数据库时,它立即恢复到原始的 43GB 大小。有没有办法删除超过一定年数或月数的数据?我们目前没有数据库管理员,我只是尽我所能释放一些可能包含多年旧数据的数据库空间。
编辑:MS Sql Server 2005
答案1
请小心,因为这将永久地从数据库中删除数据!
如果您确实想从数据库中删除旧数据,并且日期位于日期类型列中,则可以使用 SQL DELETE 命令执行此操作。如下所示:
DELETE FROM <tablename> WHERE <datecolumn> < '01/01/2008';
这将从表中删除日期早于 2008 年的所有行。您必须用模式中的表名替换,<tablename>
并用该表中包含输入日期的列替换<datecolumn>
。
如果日期列不是实际的 DATE 类型,那么您将必须进行一些转换才能将其转换为日期。