(转载)SQL Server 2005 日志文件过大处理

时间:2023-01-10 14:48:31

由于安装的时候没有计划好空间,默认装在系统盘,而且又没有做自动备份、截断事务日志等,很快LDF文件就达到十几G,或者几十G ,此时就不得不处理了。

备份和计划就不说了,现在就说下怎么把它先删除吧:

1:先分离数据库

2:为了保险,先不要删除,把LDF文件重命名下

3:附件数据库。

4:OK。

以上可能遇到的问题:

1:有用户连接,无法分离(勾选“断开所有连接”)

2:附件数数据库的时候提示找不到LDF文件,不要慌,在附件的时候,把LDF的路径一项删除,然后点击"确定",这样就附件成功了,再去数据库数据目录下看看,LDF只有几百K,这是自动生成的,附件成功。

3:OK,附件成功,打开应用,看访问是否正常(如果数据库还要连接网络中的其他机器,这个时候需要修复下IP,或者禁用再启用就可以了,因为有时候修复的窗口总是关不掉),正常之后就可以把那个大大的文件给删除了。

当然,最好的办法还是事前计划好,设置好,添加个作业计划,这样以后就会自动备份,收缩之类的,控制在一定大小范围内。

学习之后,其他的简单处理方法:

1:清空日志

DUMP TRANSACTION 库名 WITH NO_LOG

2:收缩日志

企业管理器--右键点击你要收缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至**M,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了(建议在200~300M,以防止需要恢复使用)

3: 删除LOG

1:分离数据库企业管理器->服务器->数据库->右键->分离数据库(有连接情况下勾选“断开所有连接”)

2:删除LOG文件

3:附加数据库企业管理器->服务器->数据库->右键->附加数据库

此法生成新的LOG,大小只有几百K。

再将此数据库设置自动收缩

4: 如果想以后不让它一直增长:

企业管理器--服务器--右键数据库--属性--事务日志--将文件增长限制为xM(x是你允许的最大数据文件大小)

--SQL语句的设置方式:

alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)

5.设置为自动收缩

企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"