• sqlserver清除日志 【验证】


    1.DUMP TRANSACTION [DATABASE_NAME] WITH  NO_LOG [收缩数据库是还真是必须的加上]
    2.BACKUP LOG [DATABASE_NAME] WITH NO_LOG
    3.收缩数据库文件(如果不压缩,数据库的文件不会减小)
    企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
    --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
    --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
    4.如果想以后不让它增长
    企业管理器->服务器->数据库->属性->事务日志->将文件增长限制为2M

    程序里面的方法:
    压缩数据库日志
    --1.清空日志
    exec('DUMP TRANSACTION ['+@dbname+'] WITH NO_LOG')
    --2.截断事务日志:
    exec('BACKUP LOG ['+@dbname+'] WITH NO_LOG')
    --3.收缩数据库文件(如果不压缩,数据库的文件不会减小
    exec('DBCC SHRINKDATABASE(['+@dbname+'])')


    方法1:
    第一步:
    DUMP TRANSACTION DATABASE_NAME WITH  NO_LOG
    backup log DATABASE_NAME with no_log
    第二步:
    收缩特定数据库的所有数据和日志文件,执行 dbcc shrinkdatabase (DATABASE_NAME)
    方法2:
    另一种方法有一定的风险性,因为SQL SERVER的日志文件不是即时写入数据库主文件的,如处理不当,会造成数据的损失。
    1: 删除LOG
    分离数据库 企业管理器->服务器->数据库->右键->分离数据库
    2:删除LOG文件
    附加数据库 企业管理器->服务器->数据库->右键->附加数据库
    此法会提示"重新创建log"生成新的LOG,大小只有500多K。
    注意:建议使用第一种方法。
    如果以后,不想要它变大。
    SQL2000下使用:
    在数据库上点右键->属性->选项->故障恢复-模型-选择-简单模型。
    或用SQL语句:
    alter database 数据库名 set recovery simple
    方法3:
    如果数据库使用的是简单恢复模式,直接执行CHECKPOINT之后,再收缩一次数据库,则删除新的 MinLSN 之前的所有日志记录。
    参考:
    SQL联机丛书:CHECKPOINT,检查点和日志的活动部分

     

  • 相关阅读:
    set-rebgin
    HTML5开发学习:本地存储Web Sql Database
    Sublime text 入门学习资源篇及其基本使用方法
    web前端不可错过的开发工具–Adobe Brackets
    关于WEB前端开发的工具
    WebStorm使用技巧
    五大浏览器兼容性
    IT解惑真经
    win7下一劳永逸地解决触控板禁用的问题
    PHP+Mysql学习笔记
  • 原文地址:https://www.cnblogs.com/happyday56/p/979182.html
Copyright © 2020-2023  润新知