首 页 行业热点 新车 试驾评测 养车用车 车型库

删除日志的SQL语句是什么?

发布网友

我来回答

1个回答

热心网友



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
mp 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])
这篇文章就介绍到这了,文中整合了脚本之家以前发布的文章,需要的朋友可以参考一下。



您可能感兴趣的文章:sql server数据库高可用日志传送的方法SQL SERVER 2008数据库日志文件收缩的方法Sqlserver2005日志文件太大如何减小SQL Server 2008及更高版本数据库恢复方法之日志尾部备份SQL Server 2005删除日志文件的几种方法小结SQL Server 2008 清空删除日志文件(瞬间日志变几M)SQLServer日志清空语句(sql2000,sql2005,sql2008)


声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com