欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SQL Server 清空删除日志

程序员文章站 2024-01-21 13:15:04
...

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

  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()