我在一个专用分区上有一个 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'