我的一个驱动器上有一个庞大的数据库,现在数据库的大小增加了,即使现在已经完全填满了,我得到了数据库的备份,然后我试图删除记录以释放空间,因为我删除记录我得到错误的事务日志已满,我只有mdf和ldf文件在这个驱动器,这就是为什么我无法释放更多的空间,现在我甚至无法执行简单的查询,因为空间问题。我现在应该怎么做,从哪里可以清除ldf文件?以及如何让我的数据库再次顺利运行。
答案 0 :(得分:0)
如果我记得很清楚......在查询分析器或同等程序中:
BACKUP LOG databasename WITH TRUNCATE_ONLY
DBCC SHRINKFILE ( databasename_Log, 1)
答案 1 :(得分:0)
如果它不是生产数据库:
将恢复模式设置为简单。
ALTER DATABASE DatabaseName SET RECOVERY SIMPLE
对于所有数据库,您可以缩小它们:
USE [Databasename]
DBCC SHRINKDATABASE(N'Databasename' ) --shrink the database
DBCC SHRINKFILE (N'Databasename' , 0, TRUNCATEONLY) --shrink the mdf file
DBCC SHRINKFILE (N'Databasename_Log' , 0, TRUNCATEONLY) --shrink the ldf file
还要确保未在%中设置数据库自动增长。 右键单击SSMS中的数据库=>属性=> Files =>自动增长