zoukankan      html  css  js  c++  java
  • SQLSERVER数据库 'XX' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参......

    一般不建议做第4,6两步 

    第4步不安全,有可能损坏数据库或丢失数据 

    第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复. 

    1、清空日志 

    DBCC SHRINKFILE(库名_log,0) 

    DUMP TRANSACTION 库名 WITH NO_LOG 

    2、截断事务日志: 

    如果出现“未能在 sysfiles 中找到文件 库名_log'。 

    DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。” 

    则使用这句SQL操作 

    BACKUP LOG 库名 WITH NO_LOG 

    DBCC SHRINKFILE(2,0) 

    3.收缩数据库文件(如果不压缩,数据库的文件不会减小 

    企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件 

    a、选择日志文件--收缩文件至,这里会给出一个允许收缩到的最小M数,确定就可以了 

    b、选择数据文件--收缩文件至,这里会给出一个允许收缩到的最小M数,,确定就可以了 

    也可以用SQL语句来完成 

    --收缩数据库 

    DBCC SHRINKDATABASE(库名) 

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

    DBCC SHRINKFILE(1) 

    4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行) 

    a.分离数据库: 

    企业管理器--服务器--数据库--右键--分离数据库 

    b.在我的电脑中删除LOG文件 

    c.附加数据库: 

    企业管理器--服务器--数据库--右键--附加数据库 

    此法将生成新的LOG,大小只有500多K 

    或用代码: 

    下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。 

    a.分离 

    EXEC sp_detach_db @dbname = '库名' 

    b.删除日志文件 

    c.再附加 

    EXEC sp_attach_single_file_db @dbname = '库名', 

    @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\库名.mdf' 

    5.为了以后能自动收缩,做如下设置: 

    企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩" 

    --SQL语句设置方式: 

    EXEC sp_dboption '库名', 'autoshrink', 'TRUE' 

    6.如果想以后不让它日志增长得太大 

    企业管理器--服务器--右键数据库--属性--事务日志 

    --将文件增长限制为xM(x是你允许的最大数据文件大小) 

    --SQL语句的设置方式: 

    alter database 库名 modify file(name=逻辑文件名,maxsize=20)

  • 相关阅读:
    494 Target Sum 目标和
    493 Reverse Pairs 翻转对
    492 Construct the Rectangle 构建矩形
    491 Increasing Subsequences 递增子序列
    488 Zuma Game 祖玛游戏
    486 Predict the Winner 预测赢家
    485 Max Consecutive Ones 最大连续1的个数
    483 Smallest Good Base
    Django Form组件
    Django Auth组件
  • 原文地址:https://www.cnblogs.com/blogyuan/p/2763133.html
Copyright © 2011-2022 走看看