SQL Server 2008 清空删除日志文件(瞬间缩小日志到几M)

2022-05-23 0 1,114

sql 在使用中每次查询都会生成日志,但是如果你长久不去清理,可能整个硬都堆满哦,笔者就遇到这样的情况,直接网站后台都进不去了,今天到数据库中一看竟然达到了29G的日志文件,下面我们一起来学习一下如何清理这个日志吧

SQL2008清空删除日志:

方法一:

USE [master]
GO
ALTER DATABASE AFMS SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE AFMS SET RECOVERY SIMPLE
GO
USE AFMS
GO
DBCC SHRINKFILE (N'AFMS_Log' , 11, TRUNCATEONLY) 
GO
USE [master]
GO
ALTER DATABASE AFMS SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE AFMS SET RECOVERY FULL
GO

‘在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。

USE [master]
GO
ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY SIMPLE --简单模式
GO
USE DNName
GO
DBCC SHRINKFILE (N'DNName_Log' , 11, TRUNCATEONLY) 
 
GO
 
 '这里的DNName_Log 如果不知道在sys.database_files里是什么名字的话,可以用以下注释的语句进行查询
 
'USE DNName
 
'GO
 
'SELECT file_id, nameFROM sys.database_files;
 
'GO
USE [master]
GO
ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY FULL --还原为完全模式
GO

SQL2005清空删除日志:

Backup Log DNName with no_log '这里的DNName是你要收缩的数据库名,自己注意修改下面的数据库名,我就不再注释了。
go
dump transaction DNName with no_log 
go
USE DNName
DBCC SHRINKFILE (2)
Go

sqlserver2000压缩日志

可以将jb51.ldf文件变得很小,方便备份数据库等,在sqlserver查询分析器中执行即可。

DUMP TRANSACTION [jb51] WITH NO_LOG 
BACKUP LOG [jb51] WITH NO_LOG 
DBCC SHRINKDATABASE([jb51])

这篇文章就介绍到这了,文中整合了NICE源码以前发布的文章,需要的朋友可以参考一下。

免责声明:
1、本网站所有发布的源码、软件和资料均为收集各大资源网站整理而来;仅限用于学习和研究目的,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 不得使用于非法商业用途,不得违反国家法律。否则后果自负!

2、本站信息来自网络,版权争议与本站无关。一切关于该资源商业行为与www.niceym.com无关。
如果您喜欢该程序,请支持正版源码、软件,购买注册,得到更好的正版服务。
如有侵犯你版权的,请邮件与我们联系处理(邮箱:skknet@qq.com),本站将立即改正。

NICE源码网 MsSql SQL Server 2008 清空删除日志文件(瞬间缩小日志到几M) https://www.niceym.com/58301.html