收缩syslog sql数据库

我想缩小用于我们的系统日志监控的SQL数据库。 现在的数据库大概是43GB,而且我相信这些年来还没有被清理干净。 我最近inheritance了这个数据库,当有人退出,我不知道如何访问它或清理它。 我已经尝试在数据库或文件上执行标准SHRINK,并且似乎将其降低到大约40GB,但是在几分钟内,当一个新条目被logging到数据库时,它立即回到原来的43GB尺寸。 有没有办法去除超过一定年数或数月的数据? 我们目前没有数据库pipe理员,我只是想尽我所能释放一些数据库上的空间,可能有数年的旧数据。

编辑:MS Sql Server 2005

在这里要小心,因为这将永久删除您的数据库中的数据!

如果您真的想要从数据库中删除旧数据,并且您的date处于datetypes列中,则可以使用SQL DELETE命令执行此操作。 像这样的东西:

DELETE FROM <tablename> WHERE <datecolumn> < '01/01/2008'; 

这将从date早于2008的表中删除表中的所有行。您将不得不使用<tablename>模式中的表名replace<datecolumn>中包含date条目的表中的列。

如果date列不是一个实际的datetypes,那么你将不得不做一些转换,以达到一个date。