有时候sql server 2008 数据库日志文件太大,需要收缩释放硬盘内存。如果ldb文件过大会导致数据库运行缓慢,甚至系统都会卡住。
1.登陆项目平台数据库服务器。双击SQL Server Management Studio打开数据库管理。登陆数据库
2.如下图,打开数据库属性窗口
3.如下图,更改数据库恢复模式
4.如下图,收缩数据库日志
到这里已经完成了,数据库的日志收缩
5.如下图,数据库恢复模式修改为完整
经过脚本之家小编测试,完美解决,我们成功的把一个84G的文件,压缩到1M。
下面继续为大家分享一个通过sql语句实现的,每次手工操作麻烦有没有。
sql语句实现步骤如下
首先查找要收缩日志文件的数据库文件名
USE A
GO
SELECT file_id, name FROM sys.database_files;
GO
查询结果得到日志文件的文件名叫J4_log
不过脚本之家小编测试查询比较慢,可以通过下面的方法
数据库属性>文件>右侧日志前面这个名字就是日志文件名了
测试完美没有异常。
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地址
这样就可以了,以后新建一个查询,直接运行就可以了。
12下一页阅读全文