sqlserver清除日志并收缩数据库的方法

发布时间:2020-05-26编辑:脚本学堂
在sqlserver 数据库的使用过程中,特别是频繁更新的系统中,会产生大量的日志文件。

在sqlserver 数据库的使用过程中,特别是频繁更新的系统中,会产生大量的日志文件

由于商业化的运作,我们的数据库都是有备份的,在隔一段时间之后,我们就可以把日志数据清除掉。由于现在很多时候我们使用的都是虚拟主机,空间商在安全策略上做了限制,导致没有办法清除我们的数据库日志。

唯一的办法就是利用dbower的权限打开查询分析器,使用如下的sql语句就可以清空并收缩你的数据库空间了:

1.清空日志

复制代码 代码如下:
DUMP TRANSACTION   [yourdbname]   WITH   NO_LOG;

2.截断数据库日志

复制代码 代码如下:
BACKUP LOG [yourdbname]WITH NO_LOG;

3.收缩数据库

复制代码 代码如下:
DBCC SHRINKDATABASE([yourdbname]);

注意:以上Sql语句的顺序不能打乱。
以上的方法,我们在生产环境中一直在使用,没有问题。
可以创建一个清除与收缩日志的计划作业,定期执行。