有时候sql server 2008 数据库日志文件太大,需要收缩释放硬盘内存。如果ldb文件过大会导致数据库运行缓慢,甚至系统都会卡住。

1.登陆项目平台数据库服务器。双击SQL Server Management Studio打开数据库管理。登陆数据库

clip_image004

2.如下图,打开数据库属性窗口

clip_image006

3.如下图,更改数据库恢复模式

clip_image010

4.如下图,收缩数据库日志

clip_image012

clip_image014

到这里已经完成了,数据库的日志收缩

5.如下图,数据库恢复模式修改为完整

clip_image016

经过脚本之家小编测试,完美解决,我们成功的把一个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地址

这样就可以了,以后新建一个查询,直接运行就可以了。

更多文章请关注《万象专栏》