解决SQL 2008数据库日志文件过大导致占满整个分区的问题:清理数据库日志文件
首先,清理数据库日志文件的脚本是这样的。
Use 数据库名
Select NAME,size From sys.database_files
ALTER DATABASE 数据库名 SET RECOVERY SIMPLE WITH NO_WAIT
ALTER DATABASE 数据库名 SET RECOVERY SIMPLE
USE 数据库名
DBCC SHRINKFILE(N’日志文件名’,0,TRUNCATEONLY)
ALTER DATABASE 数据库名 SET RECOVERY FULL WITH NO_WAIT
ALTER DATABASE 数据库名 SET RECOVERY FULL
其次,需要清理的数据库日志文件有多大,可以在SQL Server Management Studio看到: 鼠标右键点击对应的数据库,选择“属性”,在“文件”这个标签下就能看到日志文件大小。
现在开始清理:
打开SQL Server Management Studio。
连接上数据库服务器后,新建查询。新建查询的方式有两种,结果都是一样的。
第一步:新建查询。
1:右击需要进行清理的数据库,选择“新建查询”。
或者,
2:点击左上角的“新建查询”,然后在下方选择需要处理的数据库。
第二步:录入查询脚本。
以打开或者手工录入的形式,将脚本文件内容输入进去。
最后是这样一个情况,请注意左上的数据库名。
第三步:开始清理。
接下来将脚本中的“数据库名”更换为需要清理的数据库的名字。因为我的数据库名字中有特殊字符“-”,所以需要用到“[”,“]”。如果您的数据库名称第一位是数字,也需要这么处理。
点击执行:
接下来出现了这个:
切换到“结果”:
将这里的数据库对应的日志文件的Name填写进刚才的脚本中。
再次执行。
完成收工。再次查看数据库“属性”中的“文件”:
最后,设置数据库的日志文件的“自动增长”方式和数据库的“恢复模式”:
右键点击数据库的“属性”:
进入选择页的”文件“,设置日志文件的自动增长方式为:启动自动增长;文件增长:“按MB”;最大文件大小:限制文件增长(MB):XXXX(输入你认为合适的数值,不要太大也不要太小)。
进入选择页的“选项”,设置恢复模式为“简单”。
这样就不会发生日志文件增长过大占满整个磁盘分区的问题了。