zoukankan      html  css  js  c++  java
  • SQLServer收缩和删除日志

    -----------------收缩数据库的方法-------------------- 

    (SQL2005) 

    DECLARE @DBName AS sysname
    SET @DBNname = N'数据库名称l'

    --1.清空日志
    exec('DUMP TRANSACTION ['+@DBNname +'] WITH NO_LOG')

    --2.截断事务日志:
    exec('BACKUP LOG ['+@DBNname +'] WITH NO_LOG')

    --3.收缩数据库文件
    exec('DBCC SHRINKDATABASE(['+@DBNname +'])')

    --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles
    DBCC SHRINKFILE(1)

    --4.设置自动收缩
    exec('EXEC sp_dboption '''+@DBName+''',''autoshrink'',''TRUE''')

    ------------------------------------------------------------------------

    (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
     

    -----------------删除数据库日志文件方法---------------------

    1、分离数据库:
        企业管理器--服务器--数据库--右键--分离数据库
    2、在我的电脑中删除LOG文件
    3、附加数据库:
        企业管理器--服务器--数据库--右键--附加数据库
        此法将生成新的LOG,大小只有500多K

    或用代码:
    1、分离
        EXEC sp_detach_db @DBNname = '数据库名'
    2、删除日志文件
    3、再附加
        EXEC sp_attach_single_file_db @DBNname = '数据库名'
        @physname = 'D:\Program Files\Microsoft SQL Server\MSSQL\Data\数据库名.mdf'

    -----------------删设置数据库日志文件大小方法---------------------

    如果想以后不让它日志增长得太大
    企业管理器--服务器--右键数据库--属性--事务日志
    --将文件增长限制为xM(x是你允许的最大数据文件大小)

    --SQL语句的设置方式:
    Alter database 数据库名 modify file(name=逻辑文件名,maxsize=20)

  • 相关阅读:
    [RxSwift教程]14、其他操作符:delay、materialize、timeout等
    [RxSwift教程]13、连接操作符:connect、publish、replay、multicast
    Java虚拟机类加载机制及双亲委派模式分析
    面试系列-如何设计一个类
    谈谈 MySQL 的 JSON 数据类型
    Java 多线程编程(2-异步中包含同步)
    还堵在高速路上吗?带你进入Scratch世界带你飞
    SQL Server SSIS相关介绍
    SQL Server开启READ_COMMITTED_SNAPSHOT
    SqlServer中select语句引起的死锁
  • 原文地址:https://www.cnblogs.com/zhangpengshou/p/1816812.html
Copyright © 2011-2022 走看看