Hi,网页设计师综合门户欢迎您!
设为首页  加为收藏  我要投稿找回密码免责声明意见反馈

招聘精英个人求职推广网站网友作品网页特效动画欣赏网页素材酷站欣赏源码下载设计软件

  • 全站搜索
  • 新闻资讯
  • 网页教程
  • 平面教程
  • 程序设计
  • 视频教程
  • Flash教程

网页设计师提供网页设计、网站程序开发、系统开发等,请联系QQ 103198680

 您当前的位置:首页 > 阅读文章
网页设计师综合门户欢迎您!

SQL SERVER数据库日志清空图文教程

刊登方式:转载   来源:网络  作者:  关键词:平面设计理念  更新时间:2017/7/14

数据库日志不停疯长,如何进行清空呢?这里以一台数据库SQL SERVER 2005为例, 日志文件达到了100多个G一直无法清理,想了很多的办法:

比如下面这款SqlServer日志清除专家,可用于SQL Server 7、SQL Server 2000、SQL Server 2005的各种版本的数据库日志的清除。

这个工具一清就可以清干净的。使您再也不用担心数据库日志文件超过几百兆或上GB级而烦恼。

第二个方法就是采用了一个比较死的办法。采用 分离,然后再删除日志文件再附加来生成一个新的日志文件。

切记在操作前先把SQL好好的备份一下。

第一步 当然还是打开企业管理器了

SQL SERVER数据库日志清空图文教程 网页设计师综合门户

在分离前最好是先把IIS之类的正在连接数据库的程序关一下,要不然老半天也分离不了。

也可以选择一下 删除链接 这样可能分离会快一点。

我们再定位到数据库所在的硬盘位置

我们为了保除起见可以把 qq2.mdf备份一份,然后再将 qq2_log.ldf 这个文件重命一下名(200G的文件实在是没地方可以备份)。

然后我们再来附加数据库

附加到刚刚那个 mdf的文件。注意看下面会提示 .ldf 文件找不到。

不管他了。选择 .ldf这一分把他给删掉。

然后再确定,哈还原成功了。系统自动生成了一个新的 ldf 文件  504KB

建议大家先用上面的那个工具去清一下,如果清不到再用这个死办法来删除日志。

最后再次提醒各位一定要注意备份噢!!

SQL2008 的收缩日志 
由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:
(SQL2005)
Backup Log DNName with no_log
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
    USE [master]
    GO

    ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT

    GO

    ALTER DATABASE DNName SET RECOVERY FULL  --还原为完全模式

    GO

优点:此清除日志所运行消耗的时间短,90GB的日志在分钟左右即可清除完毕,做完之后做个完全备份在分钟内
即可完成。
缺点: 不过此动作最好不要经常使用,因为它的运行会带来系统碎片。普通状态下LOG和DIFF的备份即可截断日志。
此语句使用的恰当环境:当系统的日志文件异常增大或者备份LOG时间太长可能影响生产的情况下使用。