由于空间足够,无法访问SQL Server数据库

时间:2017-06-22 08:59:40

标签: sql-server

我的一个驱动器上有一个庞大的数据库,现在数据库的大小增加了,即使现在已经完全填满了,我得到了数据库的备份,然后我试图删除记录以释放空间,因为我删除记录我得到错误的事务日志已满,我只有mdf和ldf文件在这个驱动器,这就是为什么我无法释放更多的空间,现在我甚至无法执行简单的查询,因为空间问题。我现在应该怎么做,从哪里可以清除ldf文件?以及如何让我的数据库再次顺利运行。

2 个答案:

答案 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 =>自动增长