• SQLServer2008日志收缩


    1、使用DBMS收缩

    1、收缩日志前需要先将数据库的恢复模式修改为简单模式,选中需要收缩日志的数据库,右键,点击属性(如图1)。

     
    图1.SQLserver数据库右键.png

    2、在数据库属性菜单中,点击“选项”,将恢复模式修改为"简单"后,然后点击确认。将数据库恢复模式修改为简单模式后(如图2),即可进行日志收缩操作。点击“文件”选项,可以看到日志文件大小(如图3),图中的日志大小是17G.....
     
    图2.修改恢复模式.png
     
    图3.数据库属性.png

    3、修改恢复模式后,右键数据库,依次选择"任务--收缩--文件"(如图5)。进入收缩日志操作页面(如图5),文件类型选择"日志",收缩操作选择“在释放未使用的空间前重新组织页”,同时填写收缩文件的大小。然后点击确定。收缩日志完成!收缩完成后需要将恢复模式修改回原来的值!!

     
    图4.收缩日志.png
     
    图5.收缩日志操作.png

    4、可以再次点击数据库属性,查看日志文件的大小是否收缩到指定大小。本例中收缩为1M,结果如图6,收缩成功!


     
    图6.收缩后结果.png

    2、使用SQL语句收缩

    use master
    go
    --修改需要收缩的数据库恢复模式
    alter database dw set recovery simple with no_wait
    go
    alter database dw set recovery simple   --把恢复模式设置为简单模式
    go
    
    use dw 
    --当前数据库日记的逻辑名列表
    select name,* from sys.database_files  where type=1 
    --1代表是日记文件
    go
    --把DW_log日记文件收缩到5M
    --日志名可以查看数据库属性看到,如图3
    dbcc SHRINKFILE(N'DW_log',5)
    --减小 DW 用户数据库中数据文件和日志文件的大小,以便在数据库中留出 10% 的可用空间。
    dbcc SHRINKDATABASE(N'DW',10)
    go
     
    use master
    go
    --收缩日志后恢复数据库恢复模式
    alter database dw set recovery full with no_wait
    go
     --恢复模式还原为完全模式
    alter database dw set recovery full   
    go
    

    如果出现收缩后日志文件大小不变的情况,可以参照下这篇文章。解决SQLServer 2008 日志无法收缩,收缩后大小不改变



    作者:sky_47
    链接:https://www.jianshu.com/p/547b7b74317d
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    Android应用基础概念
    Sqlserver Rand
    sqlite3 锁
    上海盛大网络浩方在线招聘网站程序
    代码片段
    泛型类型的返回
    招 .Net 网站程序员, Flash 程序员
    ACS 20070412 TODO
    MSSQL 2005 分页分析及优化
    虚惊一场
  • 原文地址:https://www.cnblogs.com/Alex80/p/14669137.html
Copyright © 2020-2023  润新知