减小sqlserver数据库日志的方法

2008以后的版本

--设置为简单模式

ALTER DATABASE 数据库名 SET RECOVERY SIMPLE;

GO

-- 将日志文件压缩到1 MB. 数据库日志文件名查sys.sysfiles表的日志文件的name字段

DBCC SHRINKFILE ('数据库日志文件名', 1);

GO

-- 还原为完全模式

ALTER DATABASE 数据库名 SET RECOVERY FULL;

GO

SELECT * FROM sys.sysfiles;

2008以前的

declare @db nvarchar(20)

set @db='你的数据库名称'

dump transaction @db with no_log

backup log @db with no_log

dbcc shrinkdatabase(@db)

前几天我的数据库SQL server 报日志满错误,于是变改了log.ldf的空间为20G,虽然不报错了,但占了硬盘很大空间啊,还要备份数据库呢.这样我就在网上搜索到上面脚本,在确定数据库目前运行稳定,不需要查询以前日志的情况下,执行了上述脚本,结果20G的.LDF文件变成了0.9G.数据库运行稳定.

你可能感兴趣的:(减小sqlserver数据库日志的方法)