SqlServer2008数据库日志文件清理
时间:2018-12-23 23:51 来源:linux.it.net.cn 作者:it.net.cn
最近还原数据库时发现文件竟然达到十多个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'
(责任编辑:IT)
最近还原数据库时发现文件竟然达到十多个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'
|