MS SQL数据库日志清理

sql server 2008 数据库使用日志记录会大量占用硬盘空间,使得数据库的性能下降,需要我们不定时清理释放空间;本文记录下清理日志的两种操作;

一、快速收缩数据库 DBCC SHRINKFILE

收缩当前数据库的指定数据或日志文件的大小,或通过将数据从指定的文件移动到相同文件组中的其他文件来清空文件,以允许从数据库中删除该文件。文件大小可以收缩到比创建该文件时所指定的大小更小。这样会将最小文件大小重置为新值。

    USE[master]
    GO
    ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT
    GO
    ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE   --简单模式
    GO
    USE [数据库名称]
    GO
    DBCC SHRINKFILE (N'数据库名称_log' , 5, TRUNCATEONLY)  --设置压缩后的日志大小为5M,可以自行指定
    GO
    USE[master]
    GO
    ALTER DATABASE 数据库名称 SET RECOVERY FULL WITH NO_WAIT
    GO
    ALTER DATABASE 数据库名称 SET RECOVERY FULL  --还原为完全模式
    GO

二、分离数据库

①、分离数据库之前一定要做好数据库的全备份,选择数据库——右键——任务——分离。(分离后在数据库列表将看不到已分离的数据库)

②、直接删除数据库 数据库_log.ldf文件

③、右键数据库-附加-添加数据库(可以看到找不到日志文件,把该记录删除)- 

④、点击确定会自动重新生成日志

猜你喜欢

转载自blog.csdn.net/u010909793/article/details/84560662
ms