zoukankan      html  css  js  c++  java
  • SQL Server-事务日志文件过大的处理方法

    概念:

    1.虚拟日志

    虚拟日志文件是事务日志文件的截断单位,每个事务日志文件都被逻辑地分成称为虚拟日志文件的较小的段,每个虚拟日志文件的最小大小为256KB,每个事务日志文件的最小大小为512KB,可以提供两个256KB大小的虚拟日志文件。虚拟日志文件的数目和大小会随着事务日志文件的大小的增加。小日志文件可以包含较小量的小虚拟日志文件,大日志文件可以有较大的虚拟日志文件。

    小虚拟日志文件的数量尽量避免过多,虚拟日志数量的增长比大小的增长要慢得多,如果日志文件以小增量的增长,则会趋向于包含多个小虚拟日志文件,如果日志文件以大增量增长,则sql server会创建较小数量的较大虚拟日志文件。

    随着记录不断地写入日志中,日志的结尾会从一个虚拟日志文件增长到下一个虚拟日志文件。如果数据库有一个以上的物理日志文件,随着日志的增长,日志结尾将穿过每个物理文件中的每个虚拟日志文件,直至循环回到第一个物理文件中的第一个虚拟日志文件。只有当所有的日志文件已满时,日志才开始自动增长

    场景:

    部分DB几个月没有做事务日志备份,事务日志增长到几百GB

    解决方案:

    1. Snooze server;
    2. Change db’s recovery model from full to simple(截断事务日志)
    3. Run CHECKPOINT command(write page to disk)
    4. Change db’s recovery model from simple to full
    5. Shrink database’s log files to release space.
    6. Run a full backup job for all dbs(保证数据的完整性)
    7. Run tlog backup job

    Note:

    截断日志,会造成备份链断开的问题,这时候要考虑数据的完整性,改为full recovery model之后要做一次完整备份,防止数据丢失

  • 相关阅读:
    通过java代码获取jvm信息和系统信息
    java cp与java jar的区别
    vue下实现WebRTC
    MANIFEST.MF文件详解
    element 前端排序 与 后端排序
    JAVA获取CPUID、主板序列号、硬盘序列号、MAC地址(自己验证过)
    PHP常用代码大全
    程序员从初级到中级10个秘诀
    移动平台还有哪些创业机会
    程序员招聘:如何识别真正的程序员
  • 原文地址:https://www.cnblogs.com/roseHLF/p/7248847.html
Copyright © 2011-2022 走看看