从已满分区上的 SQL Server 数据库中删除数据

从已满分区上的 SQL Server 数据库中删除数据

我在一个专用分区上有一个 SQL Server 2005 数据库,在此期间,数据库不断增长,现在已经占据了分区上的所有空间,现在的问题是,我在数据库上能做的唯一操作是分离,但我想从一些表中删除旧数据以节省空间...

如果 SQL Server 接口不允许在数据库中运行查询,我该如何从数据库中删除旧数据?

答案1

SQL Server 无法执行操作,因为交易日志已满;这与数据文件无关。
只要事务日志中仍有空间,SQL 服务器就不会停止工作。

您需要查明事务日志是否已满以及原因:

DBCC SQLPERF (LOGSPACE)

您可以尝试将数据库切换到简单恢复:

ALTER DATABASE YourDB SET RECOVERY SIMPLE

如果它没有释放空间,请查看是什么阻止了它:

SELECT log_reuse_wait_desc FROM sys.databases WHERE name = 'YourDB'

相关内容