zoukankan      html  css  js  c++  java
  • 如何收缩和删除SQL日志文件

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

    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 mailto:'''+@dbname+''',''autoshrink'',''TRUE''')

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

    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 FilesMicrosoft SQL ServerMSSQLData数据库名.mdf'

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

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

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

  • 相关阅读:
    学习Vue CLI 3.x版本的安装以及创建项目
    Java中同一线程中的对象hashcode一样
    Java中线程范围内共享问题
    Java中的线程池模拟
    java中的Switch
    string、stringbuffer、stringbuild的时间性能对比
    Java中lock上锁 unlock解锁
    java中的三目运算
    Java中的Instanceof
    一个简单的for循环
  • 原文地址:https://www.cnblogs.com/Italianetz/p/3458964.html
Copyright © 2011-2022 走看看