57  
查询码: 00000412
【Sql Server】SQL SERVER 收缩日志 - willingtolove - 博客园
来源:https://www.cnblogs.com/willingtolove/p/10165665.html
作者: 周杨 于 2020年02月07日 发布在分类 / 计算机应用 / 数据库 / SQLSERVER ,于 2022年10月27日 编辑
收缩 模式 日志 数据库 恢复 数据 方法 willingtolove 完整 简单


  事务日志记录着在相关数据库上的操作,同时还存储数据库恢复(recovery)的相关信息。

  收缩日志的原因有很多种,有些是考虑空间不足,有些则是应用程序限制导致的。

  下面介绍的是在简单模式下,进行收缩操作。

#方法一:通过图形界面逐步操作

1、打开数据库属性窗口

2、更改数据库恢复模式,“完整”改成“简单”

3、收缩数据库日志,“任务”->“收缩”

4、收缩完,将数据库的恢复模式修改为“完整”

#方法二:使用命令

ALTER DATABASE test SET RECOVERY SIMPLE --将“恢复模式”设置为“简单”
GO
USE test
GO
DBCC SHRINKFILE (N'test_log' , 1, TRUNCATEONLY)--收缩日志文件大小到1M,文件名为逻辑名称
GO
USE test
GO
ALTER DATABASE test SET RECOVERY FULL WITH NO_WAIT ----将“恢复模式”设置为“完整”
GO
ALTER DATABASE test SET RECOVERY FULL
GO


注:通过修改恢复模式为“简单”,这种收缩日志的方法是不得以的方法,也是终极方法,在收缩之前,在完整模式下,进行备份;


#方法三:作业定时调度

--转自:https://www.cnblogs.com/zengbin/p/4307015.html

--在作业中 执行下面SQL代码 即可实现 自动收缩日志文件。(MSSQL 维护计划中没有提供自动收缩日志文件的功能)
--非 镜像 复制订阅 日志传送的情况下 执行。 如果存在日志传送莫要执行 否则日志传送会失败
declare @exec_sql nvarchar(1200),@simple_sql nvarchar(1200),@full_sql nvarchar(1200)
declare @db_name varchar(128)
declare @db_count int
select @db_count=COUNT(1) from sys.databases where database_id >4
declare @j int
set @j =1

while @j<=@db_count
begin
        select @db_name=name from (select ROW_NUMBER() over(order by name)rn,name from sys.databases where database_id >4 )as tmp where rn=@j
        SET @simple_sql=N' use [master] ' + Char(10) + Char(13) +'Alter DATABASE ['+@db_name+'] SET RECOVERY SIMPLE WITH NO_WAIT'
        EXEC Sp_executesql  @simple_sql,N'@db_name varchar(128)',@db_name

        SET @exec_sql=N'USE ['+@db_name+']'+ Char(10) + Char(13) +'DBCC SHRINKFILE (N'''+@db_name+'_log'' , 0, TRUNCATEONLY)'
        EXEC Sp_executesql  @exec_sql,N'@db_name varchar(128)',@db_name

        SET @full_sql =N' use [master] ' + Char(10) + Char(13) +'Alter DATABASE ['+@db_name+'] SET RECOVERY FULL WITH NO_WAIT'
        EXEC Sp_executesql  @full_sql,N'@db_name varchar(128)',@db_name

    set @j =@j+1
end



 历史版本

备注 修改日期 修改人
格式调整 2022-10-27 14:28:53[当前版本] 系统管理员
其他原因...增加定时任务功能 2020-06-19 11:15:30 系统管理员
格式调整 2020-02-07 12:18:11 系统管理员
CREAT 2020-02-07 12:15:38 系统管理员

 附件

附件类型

PNGPNG

知识分享平台 -V 5.1.4 -大信谛威