`

sqlserver 计划任务 收缩数据库日志文件

    博客分类:
  • SQL
 
阅读更多
针对之前的语句做了整合,只有日志文件大于1000M时,才进行收缩。减少对数据库的频繁操作,条件也可以进行更改。也可以获取磁盘剩余容量对其进行条件控制

里面的chedianjia是数据库的名字及chedianjia_log是日志文件的逻辑名字


--定义临时表用于存储查询后的结果集  
declare @db_table table 
(
  name nvarchar(50),
  size_mb float
)

--将查询到的数据库主文件及日志文件信息插入到临时表中(查询的文件大小单位是M)
insert into @db_table
select name, convert(float,size) * (8192.0/1024.0)/1024 as size_mb from [chedianjia].dbo.sysfiles

--定义日志文件变量
declare @size_mb float 
--获取日志文件大小 
select @size_mb = size_mb from @db_table where name = 'chedianjia_log'
if(@size_mb >1000)   --说明大于1个G了,需要执行日志文件收缩
	begin
		use master 
		--更改数据库模式为简单模式(为成功收缩日志文件做准备)  
		alter database chedianjia set recovery simple with no_wait  
		--更改数据库模式为简单模式  
		alter database chedianjia  set recovery simple  
		use chedianjia 
		--执行收缩方法  
		dbcc shrinkfile(N'chedianjia_log',0,truncateonly)   
		use master  
		--重新定义数据库类型
		alter database chedianjia  set recovery full with no_wait  
		alter database chedianjia  set recovery full  
	end


针对sql2012上述代码是放到步骤里面的,其余按界面提示设置即可。建议现在本地调试
分享到:
评论

相关推荐

    收缩数据库日志文件

    "收缩数据库日志文件" 在 SQL Server 2005 中,数据库日志文件可能会变得非常大,占用大量的磁盘空间。这是因为数据库日志文件记录了所有的数据库操作,包括插入、更新和删除操作。为了释放磁盘空间,需要对数据库...

    SQL Server无法收缩日志文件的原因分析及解决办法

    总之,理解SQL Server日志文件的工作原理以及如何管理和收缩日志文件对于优化数据库性能和管理存储空间至关重要。在进行任何日志文件操作时,应确保对业务的影响最小,并遵循最佳实践,以避免可能的数据丢失或性能...

    sqlserver2008收缩数据库脚本

    收缩数据库日志文件至100MB ```sql use myshopcmstock go dbcc shrinkfile(myshopcmstock_log, 100) go ``` - **`use myshopcmstock`**: 再次切换到`myshopcmstock`数据库。 - **`dbcc shrinkfile(myshopcmstock_...

    SQL2008R2数据库日志太大收缩方法

    接下来,是收缩数据库日志的环节。返回到SSMS的主界面,展开“任务”菜单,选择“收缩”,然后点击“文件”。在弹出的“收缩文件”对话框中,选中“日志”选项,系统会自动列出当前数据库的所有日志文件。选择需要...

    SQL SERVER Always On收缩日志文件详细操作及问题处理(已亲测通过)

    在SQL SERVER Always On环境下收缩日志文件通常涉及以下步骤: 1. **备份日志**:首先,需要备份事务日志,这可以通过`BACKUP LOG`命令实现。在这个例子中,日志被备份到`NUL:`设备,这意味着日志备份不占用实际...

    用简单模式,对SQLServer数据库收缩

    - 在弹出的“收缩数据库”对话框中,选择要收缩的文件类型(数据或日志)。 - 对于数据文件,可以指定收缩后的大小或者选择“释放未使用的空间到文件的起点”。 - 对于日志文件,只能选择“释放未使用的空间到...

    SQLSERVER2005+2008收缩数据库

    3. **使用T-SQL脚本**:压缩包中的"SQLServer2008收缩数据库日志文件.sql"和"SQLServer2005收缩数据库日志文件.sql"可能包含了针对不同版本的收缩脚本。这些脚本通常会包含上述步骤,并可能包含了判断和处理逻辑,以...

    SQLServer数据库日志太大收缩操作指南

    本文档提供了一种详细的SQLServer数据库日志太大时的收缩操作指南,旨在帮助管理员有效地管理和减小日志文件的大小。 ### 1. 数据库日志文件过大原因 数据库日志文件过大通常是因为以下原因: 1. **事务回滚**:...

    sql server 2008 数据库日志收缩

    通过对SQL Server 2008数据库日志文件的收缩,可以有效地管理和优化磁盘空间的使用。但在进行日志收缩之前,需要充分考虑系统的恢复需求以及性能影响,确保操作的安全性和有效性。此外,定期监控数据库的运行状态和...

    微软MS SQL SERVER 日志收缩工具(2019重构版)支持sqlserver 2008及以后版本,trunc绿色版单文件。

    微软MS SQL SERVER 日志收缩工具(2019重构版)支持sqlserver 2008及以后版本,trunc绿色版单文件。 MS SQL Server日志收缩工具是款小巧好用的sql日志清理工具,主要就是帮助用户清除系统红无用的SQL日志文件,更...

    数据库日志收缩脚本

    数据库日志收缩脚本,适用于SQL server 2005, 2008, 2012

    SQL SERVER 日志收缩工具

    SQL Server日志收缩工具是一种专门用于管理SQL Server数据库日志文件大小的应用程序。在SQL Server中,事务日志是数据库的重要组成部分,它记录了所有的事务操作,确保数据的一致性和可恢复性。然而,随着时间的推移...

    SQL_Server_2008删除或压缩数据库日志的方法.doc

    在SQL Server 2008中删除或压缩数据库日志是一项重要的数据库维护工作,尤其是在日志文件过大或备份时间过长的情况下。通过改变恢复模式、执行日志清理、文件收缩以及设置自动收缩和文件增长限制等操作,可以有效地...

    Sqlserver2000深度压缩数据库文件

    在SQL Server 2000中,数据库文件的压缩是一个重要的任务,特别是在处理大量数据删除或更新时,释放被占用但不再使用的空间至关重要。虽然SQL Server企业管理器提供了“收缩数据库”功能,但在某些情况下,这种方法...

    SQLServer日志收缩工具

    SQL Server日志收缩工具是一款专为管理SQL Server数据库日志文件而设计的实用程序。在SQL Server中,日志文件(通常命名为ldf文件)用于记录所有事务的更改,包括数据的插入、更新和删除,以及数据库的结构修改。...

    清空sql数据库日志文件

    ### 清空SQL数据库日志文件 在数据库管理与维护过程中,日志文件管理是非常重要的一个环节。数据库的日志文件(Log File)主要用于记录数据库的所有事务操作,这对于故障恢复至关重要。然而,在某些情况下,比如...

    SQL 2008日志收缩 清空删除大日志文件

    在SQL Server 2008中,日志文件的管理和收缩相比SQL Server 2005有所不同,主要是因为SQL Server 2008对数据库的日志处理进行了优化。日志文件(.ldf)主要用于存储数据库事务日志,是确保数据完整性和可恢复性的...

    AlwayOn集群数据库日志清理教程.doc

    `:收缩数据库日志文件到 7M 大小 注意:如果清理不起作用,请注意清理前要清理下要收缩的库的索引碎片。具体操作步骤如下: 在管理中—》新建维护计划—》选择重新组织索引—》运行该计划 7 之后再执行清理语句 ...

    sqlserver数据库日志收缩工具最新版本trunc.exe

    sql日志收缩工具,sql日志收缩工具,在升级用友软件的时候,因为数据库创建的时候日志文件的大小设置太小,长期使用该数据库生成日志文件最终造成空间不够,而报日志文件空间已满的错误,通过此工具完美解决。...

Global site tag (gtag.js) - Google Analytics