最近遇到个问题,一台保存数据库的服务器硬盘满了,找了半天发现时存log的ldf文件太大了,好几百G。
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data
由于本人从来没有数据库工作相关经验,就只能上网找解决方案。这个文件存的是所有操作的日志,没有什么作用,可以清除。但是不能把这个文件直接删掉。
首先装一个 SQL server Management Studio. 然后执行一段从网上找来的语句:
USE [master]
GO
ALTER DATABASE databasename SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE databasename SET RECOVERY SIMPLE --简单模式
GO
USE databasename
GO
DBCC SHRINKFILE (databasename _Log' , 11, TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE databasename SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE databasename SET RECOVERY FULL --还原为完全模式
GO
也不知道是什么原理,眨眼的功夫,几百G的东西消失了。问题解决。
但是如果只是这样,早晚还有满的一天。 所以再给日志文件设个上限,让它的总大小不会超过上限。具体工作原理还是不清楚,猜是到达上限了就把最早的日志删除掉吧。