SQL Server - 表清理无法正常工作

时间:2014-02-11 16:06:01

标签: sql sql-server tsql sql-delete

我正在开发一个大型数据库(32 Gb),其中包含应用程序和服务日志以及可追溯到几年的痕迹,我想将其减少到只有一个月的数据。

我们已经有一个存储过程和作业可以运行这样做,具有可变保留,但是当我在过去一天运行它时它没有工作。我也试过直接删除声明

delete from [INFRAICC 2.0].[css].[DatabaseTrace] where time < DATEADD(day, -30, GETDATE())

但我得到的结果相同:

事务日志填满,但数据库本身不会变小。 我怀疑可能存在访问问题(虽然它正在写日志很好)但我找不到任何方法来确认这一点,或者是否还有其他可能的原因。

1 个答案:

答案 0 :(得分:1)

SQL Server将在驱动器上保留空间,除非您告知数据,否则不会释放数据。它只是保留它,期望你再次需要它。阅读DBCC SHRINKDATABASE并查看建议 - 您不希望过度缩小它,因为当它必须去保留更多空间时会有性能损失,所以您不希望它一直这样做