我正在使用 MSSQL 存储数据。当我尝试删除表中的数据时,它显示错误
The transaction log for database 'test' is full due to 'LOG_BACKUP'.
另外,我查过C盘的大小,现在快满了,在做这个删除操作之前,可用空间是10GB。
当我搜索错误时,我发现备份事务日志可以解决问题。我也做了同样的事情,但C盘仍然是满的。
我能做些什么来解决这个问题?
最佳答案
根据评论,我缩小了事务日志文件,它释放了大约 13GB。由于我的数据库的恢复模式是完整的,首先我备份了事务日志,然后将我的数据库的恢复模式更改为简单。在那之后,我缩小了我的日志文件并再次设置回完整。
ALTER DATABASE AdventureWorks2012
SET RECOVERY SIMPLE
GO
DBCC SHRINKFILE (AdventureWorks2012_log, 1)
GO
ALTER DATABASE AdventureWorks2012
SET RECOVERY FULL
https://www.mssqltips.com/sqlservertutorial/3311/how-to-shrink-the-transaction-log/
谢谢@sepupic,感谢您在帖子中提到的非常准确的方法。清理空间后,我根据@Pedro Martins 的评论小批量删除了记录。
关于sql-server - 由于 'test' ,数据库 'LOG_BACKUP' 的事务日志已满。和 C 驱动器的可用空间问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48885256/