DDR爱好者之家 Design By 杰米

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

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

SQL SERVER 2008 r2 数据压缩的两种方法第1/2页

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

SQL SERVER 2008 r2 数据压缩的两种方法第1/2页

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

SQL SERVER 2008 r2 数据压缩的两种方法第1/2页

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

SQL SERVER 2008 r2 数据压缩的两种方法第1/2页

SQL SERVER 2008 r2 数据压缩的两种方法第1/2页

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

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

SQL SERVER 2008 r2 数据压缩的两种方法第1/2页

经过小编测试,完美解决,我们成功的把一个84G的文件,压缩到1M。

下面继续为大家分享一个通过sql语句实现的,每次手工操作麻烦有没有。

sql语句实现步骤如下

首先查找要收缩日志文件的数据库文件名

USE A

GO

SELECT file_id, name FROM sys.database_files;

GO

SQL SERVER 2008 r2 数据压缩的两种方法第1/2页

查询结果得到日志文件的文件名叫J4_log

不过小编测试查询比较慢,可以通过下面的方法

数据库属性>文件>右侧日志前面这个名字就是日志文件名了

SQL SERVER 2008 r2 数据压缩的两种方法第1/2页

测试完美没有异常。

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下一页阅读全文
DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米