清理数据库日志文件的方法

作者: 来源:本站原创 点击数: 发布时间:2021年07月06日

问题说明:

sqlserver的数据库如果使用的恢复模式是完整的话,长时间会使ldf日志文件过大,如何清理ldf的日志呢?

解决办法: 执行下面代码即可


/*1.查询数据库日志文件名称*/
--cgo为数据库名
--这里的 数据库日志名,可以用以下注释的语句进行查询(_log那个)
USE [cgo]
GO
SELECT file_id, name,size,physical_name FROM sys.database_files;
GO

/*2.修改为简单模式*/
USE [cgo]
GO
ALTER DATABASE [cgo] SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE [cgo] SET RECOVERY SIMPLE --简单模式
GO

/*3.删除操作(eutdb_Log为第一步查询出的日志名称)*/
USE [cgo]
GO
DBCC SHRINKFILE (N'eutdb_Log' , 11, TRUNCATEONLY)

--DBCC SHRINKFILE ('数据库日志名',1) 
GO


/*4.还原为完全模式*/
USE [cgo]
GO
ALTER DATABASE [cgo] SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE [cgo] SET RECOVERY FULL --还原为完全模式
GO