有时候sql server 2008 数据库日志文件太大,需要收缩释放硬盘内存。如果ldb文件过大会导致数据库运行缓慢,甚至系统都会卡住。
1.登陆项目平台数据库服务器。双击sql server management studio打开数据库管理。登陆数据库
2.如下图,打开数据库属性窗口
3.如下图,更改数据库恢复模式
4.如下图,收缩数据库日志
到这里已经完成了,数据库的日志收缩
5.如下图,数据库恢复模式修改为完整
经过www.887551.comwww.887551.com测试,完美解决,我们成功的把一个84g的文件,压缩到1m。
下面继续为大家分享一个通过sql语句实现的,每次手工操作麻烦有没有。
sql语句实现步骤如下
首先查找要收缩日志文件的数据库文件名
use a
go
select file_id, name from sys.database_files;
go
查询结果得到日志文件的文件名叫j4_log
不过www.887551.comwww.887551.com测试查询比较慢,可以通过下面的方法
数据库属性>文件>右侧日志前面这个名字就是日志文件名了
测试完美没有异常。
use[master] go alter database a set recovery simple with no_wait go alter database a set recovery simple --简单模式 go use a go dbcc shrinkfile (n'j4_log', 11, truncateonly) go use[master] go alter database a set recovery full with no_wait go alter database a set recovery full --还原为完全模式 go
如果感觉比较麻烦,可以设置一个自动任务执行,将上面的文件保存为yasuo.sql
然后通过计划任务结合cmd,执行如下命令即可,目录自定设置好
sqlcmd -i yasuo.sql
sql server 2008r2执行大文件sql脚本命令
cd c:\program files\microsoft sql server\110\tools\binn
sqlcmd -s . -u sa -p 123 -d test -i data.sql
参数说明:-s 服务器地址 -u 用户名 -p 密码 -d 数据库名称 -i 脚本文件路径
本地服务器地址可以写 . 比较轻松,也可写.或者(local)或者ip地址
这样就可以了,以后新建一个查询,直接运行就可以了。