解决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(输入你认为合适的数值,不要太大也不要太小)。

      进入选择页的“选项”,设置恢复模式为“简单”。

这样就不会发生日志文件增长过大占满整个磁盘分区的问题了。

 

 

posted @ 2013-04-11 11:54  smilepy  阅读(4000)  评论(1编辑  收藏  举报