sql-server - 由于 'test' ,数据库 'LOG_BACKUP' 的事务日志已满。和 C 驱动器的可用空间问题

标签 sql-server

我正在使用 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/

相关文章:

c# - 如何检查查询是否通过网络执行?

sql - 如何将 SQL 查询导出到 SPSS?

sql - 如何 "HAVING COUNT(DISTINCT(col1, col2))"

sql-server - 使用 SQL Server 时出现“用户登录失败”错误,但使用繁琐时则不会

按销售代表进行 SQL 分组 - 选择 2 个计数

sql-server - TSQL while 循环

c# - 用于演示项目的 .NET 托管

sql - 从 DATEDIFF 中以十进制格式获取小时和分钟,SQL

sql-server - 全文搜索适合搜索人名吗?

sql - 最好的 sql server 客户端工具和刷新管理工作室编辑窗口?