`
zzc1684
  • 浏览: 1190946 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

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


SQL2005清空删除日志:

 代码如下:

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

 


SQL2008清空删除日志:

'在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

 

 

sqlserver2000压缩日志

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

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

 

详细出处参考:http://www.jb51.net/article/37305.htm

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics