1、首先件跟数据库全量备份一份
2、备份好之后,将数据库从元数据库中右键分离
3、进入数据库存储文件目录,将数据库对应的.mfd、.ldf文件剪切至别的盘符(作为一个保底,以防万一)
4、剪切之后,将之前备份好的数据库还原至当前数据库,
5、通过SQL执行将数据库日志删除 SQL如下:
USE [master]
GO
ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE 数据库名称 SET RECOVERY SIMPLE
GO
USE 数据库名称
GO
DBCC SHRINKFILE (N'abc_log' , 11, TRUNCATEONLY)
GO
USE [master]
GO
ALTER DATABASE 数据库名称 SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE 数据库名称 SET RECOVERY FULL
GO
--查询 系统日志文件名称 abc_log 通过以下查询语句查出
SELECT file_id, name FROM sys.database_files;
6、这时日志文件应该已经被清除了,这时可以针对数据库进行收缩操作了
7、此步骤为可选项,如果以后不希望日志文件大小激增,可以通过,右键数据库实例==》属性==》选项==》数据库恢复模式 设置成 “简单”
目标生产数据库,原大小 .mdf 文件67G .mlf 日志文件122G,清理之后数据库占用大小 3.5G左右,总共耗时大概3.5~4小时