Exchange日志是exchange的重要组成部分,也是管理exchang的重要指标。exchange日志产生的速度很快,而且会占用大量磁盘空间。如何管理日志成为exchange管理员的重要管理任务。

在实际工作中,经常遇到因为日志空间已满造成的故障。exchange提供3中减少日志占用方法:VSS完整备份、启用循环日志及手动方式( 详情点击->链接)

1、日志的作用

Exchange日志的主要作用是保证exc数据库的完整性,具体包含以下几个方面。

a)作为一个企业级邮件系统,exchange日志能保证数据的完全性和完整性,并能够面对随机可能发生的意外灾难,把数据损失降到最小。

b)exchang日志具有高性能的邮件处理能力,数据库中的邮件事务操作玩抽,立即被保存到存储介质中。

c)灾难发生后,备份\恢复Exchange日志可以返回灾难发生前一刻的数据库状态。

d)通过重播日志,exchang日志能将没有写入到数据库的数据写入到数据库。

2、日志写入模式

Exchange日志的工作模式跟Microsoft sql server的日志工作模式相同。exchange中每个操作都称为一个事务,所有事务首先被写入到日子文件,然后再将数据库写入到exchang数据库。

exchang日志中的事务文件每个大小为1mb。例如邮箱数据库“TestDB01”产生的日志如图下图所示。

3、运行中的Exchange数据库日志

正在运行的exchange数据库,其事务操作包含三部分内容:

a)内存中已经完成处理,没有成功写入到日志文件。

工作在这种状态下,一旦产生断电故障,数据将会彻底丢失。因此保证电源安全对exchange服务器至关重要。

b)日志文件写入成功,没有写入到数据库文件。

工作在这种模式下,系统通过检查点文件(CHK)标记那些日志已经成功写入到数据库,那些还没有写入。CHK类似一个指针。Exchange管理员通过“Eseutil”工具可以查看日志写入情况如下图所示。

“CheckPoint:(0x104,1,0)”是检查点位置,表示0X104日志的页面序号已经被成功写入数据库。当数据库崩溃时,完成数据库恢复后,系统会自己跟踪关联的日志文件。如果发现有比当前数据库还新的日志存在,系统就会自动按照日志顺序将更改写回到数据库,以保障数据库完整性。

c)成功写入到数据库文件。

工作在这种状态下,即便windows系统崩溃也不会丢失任何数据。

Exchange日志的更多相关文章

  1. Exchange日志清理

    1.清理日志--完整备份 Exchange Server 2013被部署在Windows Server 2012 及以上版本的操作系统中,使用操作系统内的"Windows Server Ba ...

  2. Exchange备份和日志清除

    最近新部署Exchange 2019,虽然变化不大,但是也遇到了一些小问题.随着深入研究,就能发现一些以前被忽视的点.Exchange完成备份后,数据库日志并没有被清除,依然存在.https://ww ...

  3. quartz定时+log4net日志+exchangeservice发邮件

    main using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sys ...

  4. rabbitmq trace 日志的使用以及其疑惑之处

    RabbitMQ 默认日志里只有类似客户端"accpet/close"等信息,对于有异常或者跟踪消息内部结构就比较麻烦了. 不过MQ有个rabbitmq_tracing插件,安装该 ...

  5. RabbitMQ 通过记日志来看routingkey

    RoutingKey 每个项目都需要记录日志,日志则一般会分为多种级别,常见的是 Info.debug.warn.Error 对于前三种日志,在项目运行中会产生大量的消息,但是一般多数情况下是不会用到 ...

  6. windows server 2008 R2 SP1 安装exchange 2010

    一. 先决条件 若在windows server R2 SP1企业版系统上典型安装exchange server2010 SP3,则需要提前确定一下先决条件 AD域环境,域和林的功能级别必须是wind ...

  7. DotNet 资源大全中文版,内容包括:编译器、压缩、应用框架、应用模板、加密、数据库、反编译、IDE、日志、风格指南等

    DotNet 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-dotnet 是由 quozd 发起和维护.内容包括:编译器. ...

  8. RabbitMQ中 exchange、route、queue的关系

    从AMQP协议可以看出,MessageQueue.Exchange和Binding构成了AMQP协议的核心,下面我们就围绕这三个主要组件    从应用使用的角度全面的介绍如何利用Rabbit MQ构建 ...

  9. 使用Windows Live Writer发布日志

    前言 Windows Live Writer是非常不错的一个日志发布工具,支持本地写文章,然后通过点击一个按钮就发布到网站上,如果借助插件,还可以同时发布到多个博客网站,功能非常强大,很多博友认识她之 ...

随机推荐

  1. 小程序 laravel 实现秒杀

    参考博客: https://blog.csdn.net/m0_56487875/article/details/118603439 小程序登录: https://www.cnblogs.com/xia ...

  2. dopamine源码解析之dqn_agent

    目录 epsilon函数 DQNAgent构造函数核心参数 DQNAgent核心函数 tf.make_template 核心数据流图 epsilon函数 linearly_decaying_epsil ...

  3. centeros7 定时任务

    crond是什么? crond 和crontab是不可分割的.crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于 ...

  4. LGP1397题解

    并不是那么的有意思呢 首先,我们可以将题目给出的地推式看做一个一次函数 \(k * x+b\),来思考一个问题,如果给出两个一次函数 \(F(x)\) 和 \(G(x)\),那么 \(F(G(x))\ ...

  5. 【面经】Python面试的16个高频问题

    (一)Python 是如何进行内存管理的? 答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制 ⒈对象的引用计数机制 Python 内部使用引用计数,来保持追踪内存中的对象,所有对 ...

  6. MySQL报错 SQL ERROR:1064 ,SQLState:42000

    使用mysql新增数据时报错,具体信息如图所示: 错误原因: 所建的表中 表名或字段名与数据库关键字冲突 解决办法 可以根据报错信息,查看错误的具体位置,找到数据库中对应的字段,查询是否与关键字(不分 ...

  7. C++中如何可以修改const函数内的成员变量的值?

    呵呵,你使用mutable关键字来定义变量就可以了.下面举例说明 C++关键字mutable Mutable (1)mutable的意思是"可变的,易变的",跟C++中的const ...

  8. Redis 大 key 问题总结

    多大的 key 算大? 阿里云Redis 最佳实践中提到 合理的 Key 中 Value 的字节大小,推荐小于10 KB.过大的 Value 会引发数据倾斜.热点Key.实例流量或 CPU 性能被占满 ...

  9. 论如何在使用RedisStandaloneConfiguration时让JedisConnectionFactory用上JedisPoolConfig

    前言 公司项目上线后经常运行一两天后就会出现延时.无响应的情况,当时第一反应觉得可能是某些业务优化不行,检查业务也没发现有什么问题,前前后后倒是修了两三个BUG,本以为没啥事儿了,但也就好了两天,很奇 ...

  10. 关于DP动规

    今天学了动规,简单记录一下自己理解了的:(要不俺就忘了) 首先,啥是DP??? 动态规划,其实就是组合子问题的解来解决整个问题的解,由于每个子问题他只判断一次,所以不会重复计算,那就很牛啊!!! 专业 ...