SqlServer2008数据库日志文件清理

时间:2023-01-11 07:14:30

最近还原数据库时发现文件竟然达到十多个G(数据文件才几十M)。网上查了一圈发现是日志的问题,清理方法很多,整理如下


--1.截断事务日志并设置为simple模式

USE [master]  
GO  
ALTER DATABASE [数据库名] SET RECOVERY SIMPLE WITH NO_WAIT  
GO  
ALTER DATABASE [数据库名] SET RECOVERY SIMPLE  
GO  


--2.执行删除操作。这一步骤也可以直接在管理器选择属性-文件 修改日志文件大小完成(或者收缩文件完成,方法很多)

USE [数据库名]  
GO  
DBCC SHRINKFILE (N'[数据库日志文件名称]' , 0,TRUNCATEONLY)  
GO  


--3. 还原模式
USE [master]  
GO  
ALTER DATABASE [数据库名] SET RECOVERY FULL WITH NO_WAIT  
GO  
ALTER DATABASE [数据库名] SET RECOVERY FULL  
GO  
  
--其他:查询指定数据库的日志文件名称  
USE [数据库名]   
GO  
SELECT name FROM SYS.database_files WHERE type_desc='LOG'