• 清空sql server日志


    1、打开查询分析器,输入命令DUMP TRANSACTION 数据库名 WITH NO_LOG
    2、打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至: ,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了。
    3、在数据库上点右键->属性->选项->故障恢复-模型-选择-简单模型。
    4、企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩" 
     

    =====================

    1:由小的事务引起日志溢出,系统能正常启动。 

    解决办法: 

    扩大数据库日志空间: 
    alter database 数据库名 on 设备名=数量(M为单位) 

    sp_logdevice 数据库名,设备名 

    清除日志 
    dump transaction 数据库名 with no_log(no_truncate) 

    2:由大的事物引起日志溢出,系统较长时间内无法正常启动或数据库无法恢复 

    解决办法: 

    强行清空日志。 
    在实在无法恢复数据库或有近期备份的情况下,可采用强行清空日志的方法。采取这种方法的后果有可能彻底破坏数据库。执行步骤如下: 

    Ⅰ 以-v 方式启动SQL SERVER(不检测日志) 

    Ⅱ 修改数据库状态为-32768(阻塞状态) 

    update sysdatabases set status=-32768 where name=数据库名 

    Ⅲ 授权sybase_ts_role权限(sybase_ts_role为SQL SERVER特殊管理员权限,在日常的数据库管理中,不需要这个角色) 

    sp_role “grant”,”sybase_ts_role”,sa 

    set role “sybase_ts_role” 

    Ⅳ 清除日志 

    dbcc rebuild_log(数据库名,1,1) 

    完成以上步骤后,重新启动SQL SERVER即可。如果数据库能正常启动,数据库就恢复完成;如果无法启动,只能重新创建数据库。

    =================================================================

    压缩日志 

    1:截断事务日志: 
    BACKUP LOG 数据库名 WITH NO_LOG 

    2:清空日志 
    DUMP TRANSACTION 库名 WITH NO_LOG 

    再: 
    企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了 


    3: 删除LOG 
    1:分离数据库 企业管理器->服务器->数据库->右键->分离数据库 
    2:删除LOG文件 
    3:附加数据库 企业管理器->服务器->数据库->右键->附加数据库 
    此法生成新的LOG,大小只有500多K 
    再将此数据库设置自动收缩 
    或用代码: 
    下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。 

    EXEC sp_detach_db @dbname = 'pubs' 
    EXEC sp_attach_single_file_db @dbname = 'pubs', 
    @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf' 


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

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

    5.设置为自动收缩 

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

  • 相关阅读:
    linux ftp启用和停用及vsftpd安装 ssh 启用和停用命令及ssh的安装
    linux 网络命令
    printf的使用
    Shell echo命令
    shell脚本之文件操作
    shell脚本之字符串运算的使用
    linux的计划任务操作
    系统操作有关的命令
    shell脚本之 operater.sh 算术运算符;比较运算符;布尔运算符;逻辑与或非运算符;字符串运算符的使用
    shell脚本的参数传递使用
  • 原文地址:https://www.cnblogs.com/linn/p/2453236.html
Copyright © 2020-2023  润新知