收缩SQL数据库日志文件

时间:2021-08-23 16:41:55

收缩SQL数据库日志文件

介绍具体的操作方法前,先说下我操作的实际环境和当时的状况。我的服务器是windows server 2008 R2 64位英文版,数据库是SQL server 2008英文版。服务器上安装的是SAP DEV(SAP测试系统)和其数据库,由于同事测试的需要里面copy了6个集团,现在client 6想删除不要,释放一些磁盘空间。当我删除client 6后发现磁盘剩余的空间越来越小,没删除之前还有20多个G呢,结果删除后剩余空间只有7MB多点,当时有种很蒙的感觉。但马上冷静下来想一想肯定是有原因的,然后查看了下SAP数据库所在的磁盘各个文件,突然发现一个log文件非常大,有足足140多G,再加上本来的数据库文件140多G,刚好就快占了我整个磁盘空间(300G),这下终于找到了大概原因在哪里了。现在的白毒和狗狗都很聪明,立即百度了下,原来空间是可以有办法释放出来,几经周折找的一个初步认为可行的方法想尝试下。在尝试之前建议大家养成一个好的习惯:备份,立即备份了所有数据库文件和数据库日志文件,然后就收缩数据库日志文件。具体的操作方法如下面的步骤:
第一步:找到SQL数据库管理器
收缩SQL数据库日志文件
第二步:连接你的数据库,如果是远程服务器的话,在local那里要填如远程数据库名称或者IP地址
收缩SQL数据库日志文件
第三步:连接上数据库后找到你应用系统所对应的数据库名称并右键选择属性
收缩SQL数据库日志文件
第四步:在弹出的对话框选择
确定收缩SQL数据库日志文件
第五步:再对你所要操作的数据库点右键,选择tasks里的shrink,点files
收缩SQL数据库日志文件
第6步:将图中file type里默认的data改为log,并在shrink action中选择第二项目,并将收缩大小改为0
收缩SQL数据库日志文件

当你做完这一切你会惊奇的发现数据日志收缩功能是如此的强大,居然可以把100多G的日志数据收缩到200多MB。是不是太夸张了点,哈哈!!注意:最后把第四步中的recovery model改为原来的full,切记!