zoukankan      html  css  js  c++  java
  • SQL 2005/SQL 2008 收缩日志 清空删除大日志文件

    SQL2008 的收缩日志
    由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:
    (SQL2005)

    1 BackupLog DNName with 
    2 no_log
    3 go
    4 dumptransaction DNName 
    5 with 
    6 no_log
    7 go
    8 USE DNName 
    9 DBCC SHRINKFILE 

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

     1 USE[master]
     2     GO
     3     
     4 ALTER DATABASE DNName 
     5 SET 
     6 RECOVERY SIMPLE WITH NO_WAIT
     7     GO
     8     
     9 ALTER DATABASE DNName 
    10 SET 
    11 RECOVERY SIMPLE   --简单模式
    12     GO
    13     USE DNName 
    14     
    15 GO
    16     DBCC SHRINKFILE 
    17 (N'DNName_Log' , 11, TRUNCATEONLY)
    18     GO
    19     
    20 USE[master]
    21     GO
    22     
    23 ALTER DATABASE DNName 
    24 SET 
    25 RECOVERY FULL WITH 
    26 NO_WAIT
    27 
    28     GO
    29 
    30 ALTER DATABASE DNName 
    31 SET 
    32 RECOVERY FULL  --还原为完全模式
    33 GO


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

  • 相关阅读:
    Windows下MySQL数据库备份脚本(二)
    pt-query-digest用法
    pt-online-schema-change 实例
    pt-kill使用
    pt-find 使用实例
    利用pt-deadlock-logger监控死锁
    pt-fifo-split使用
    bash{} 方法总结
    python psutil 模块
    Zabbix的安装与部署---问题处理(php65.6.28 mysqli 报错误 处理)
  • 原文地址:https://www.cnblogs.com/zhangpan1244/p/2674943.html
Copyright © 2011-2022 走看看