5ucms论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3809|回复: 0

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

[复制链接]

670

主题

785

帖子

8228

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8228
发表于 2019-11-16 00:07:06 | 显示全部楼层 |阅读模式
sql 在使用中每次查询都会生成日志,但是如果你长久不去清理,可能整个硬都堆满哦,笔者就遇到这样的情况,直接网站后台都进不去了。下面我们一起来学习一下如何清理这个日志吧

SQL2008清空删除日志:

方法一:



  1. USE [master]
  2. GO
  3. ALTER DATABASE AFMS SET RECOVERY SIMPLE WITH NO_WAIT
  4. GO
  5. ALTER DATABASE AFMS SET RECOVERY SIMPLE
  6. GO
  7. USE AFMS
  8. GO
  9. DBCC SHRINKFILE (N'AFMS_Log' , 11, TRUNCATEONLY)
  10. GO
  11. USE [master]
  12. GO
  13. ALTER DATABASE AFMS SET RECOVERY FULL WITH NO_WAIT
  14. GO
  15. ALTER DATABASE AFMS SET RECOVERY FULL
  16. GO
复制代码



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

  1. USE [master]
  2. GO
  3. ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT
  4. GO
  5. ALTER DATABASE DNName SET RECOVERY SIMPLE --简单模式
  6. GO
  7. USE DNName
  8. GO
  9. DBCC SHRINKFILE (N'DNName_Log' , 11, TRUNCATEONLY)

  10. GO

  11. '这里的DNName_Log 如果不知道在sys.database_files里是什么名字的话,可以用以下注释的语句进行查询

  12. 'USE DNName

  13. 'GO

  14. 'SELECT file_id, nameFROM sys.database_files;

  15. 'GO
  16. USE [master]
  17. GO
  18. ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT
  19. GO
  20. ALTER DATABASE DNName SET RECOVERY FULL --还原为完全模式
  21. GO
复制代码



SQL2005清空删除日志:

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


sqlserver2000压缩日志

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



  1. DUMP TRANSACTION [jb51] WITH NO_LOG
  2. BACKUP LOG [jb51] WITH NO_LOG
  3. DBCC SHRINKDATABASE([jb51])
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|5ucms.com

GMT+8, 2024-4-16 20:35 , Processed in 0.062500 second(s), 30 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表