zoukankan      html  css  js  c++  java
  • SQL Server 2005与2008清空日志方法

    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时间太长可能影响生产的情况下使用。

  • 相关阅读:
    MYSQL连接不上100061错误
    最小生成树
    装载问题
    贪心算法-- 纪念品分组
    折腾日记----「乱七八糟的过程」
    LeetCode ---- 474. 一和零「二维01背包」
    Erlang TCP 实例
    Erlang 入门 ---- 基础(一)
    SpringBoot ---- Spring Security
    LeetCode----1026. 节点与其祖先之间的最大差值
  • 原文地址:https://www.cnblogs.com/dcrenl/p/12705268.html
Copyright © 2011-2022 走看看