Exchange日志
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日志的更多相关文章
- Exchange日志清理
1.清理日志--完整备份 Exchange Server 2013被部署在Windows Server 2012 及以上版本的操作系统中,使用操作系统内的"Windows Server Ba ...
- Exchange备份和日志清除
最近新部署Exchange 2019,虽然变化不大,但是也遇到了一些小问题.随着深入研究,就能发现一些以前被忽视的点.Exchange完成备份后,数据库日志并没有被清除,依然存在.https://ww ...
- quartz定时+log4net日志+exchangeservice发邮件
main using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sys ...
- rabbitmq trace 日志的使用以及其疑惑之处
RabbitMQ 默认日志里只有类似客户端"accpet/close"等信息,对于有异常或者跟踪消息内部结构就比较麻烦了. 不过MQ有个rabbitmq_tracing插件,安装该 ...
- RabbitMQ 通过记日志来看routingkey
RoutingKey 每个项目都需要记录日志,日志则一般会分为多种级别,常见的是 Info.debug.warn.Error 对于前三种日志,在项目运行中会产生大量的消息,但是一般多数情况下是不会用到 ...
- windows server 2008 R2 SP1 安装exchange 2010
一. 先决条件 若在windows server R2 SP1企业版系统上典型安装exchange server2010 SP3,则需要提前确定一下先决条件 AD域环境,域和林的功能级别必须是wind ...
- DotNet 资源大全中文版,内容包括:编译器、压缩、应用框架、应用模板、加密、数据库、反编译、IDE、日志、风格指南等
DotNet 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-dotnet 是由 quozd 发起和维护.内容包括:编译器. ...
- RabbitMQ中 exchange、route、queue的关系
从AMQP协议可以看出,MessageQueue.Exchange和Binding构成了AMQP协议的核心,下面我们就围绕这三个主要组件 从应用使用的角度全面的介绍如何利用Rabbit MQ构建 ...
- 使用Windows Live Writer发布日志
前言 Windows Live Writer是非常不错的一个日志发布工具,支持本地写文章,然后通过点击一个按钮就发布到网站上,如果借助插件,还可以同时发布到多个博客网站,功能非常强大,很多博友认识她之 ...
随机推荐
- 小程序 laravel 实现秒杀
参考博客: https://blog.csdn.net/m0_56487875/article/details/118603439 小程序登录: https://www.cnblogs.com/xia ...
- dopamine源码解析之dqn_agent
目录 epsilon函数 DQNAgent构造函数核心参数 DQNAgent核心函数 tf.make_template 核心数据流图 epsilon函数 linearly_decaying_epsil ...
- centeros7 定时任务
crond是什么? crond 和crontab是不可分割的.crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令.该命令从标准输入设备读取指令,并将其存放于 ...
- LGP1397题解
并不是那么的有意思呢 首先,我们可以将题目给出的地推式看做一个一次函数 \(k * x+b\),来思考一个问题,如果给出两个一次函数 \(F(x)\) 和 \(G(x)\),那么 \(F(G(x))\ ...
- 【面经】Python面试的16个高频问题
(一)Python 是如何进行内存管理的? 答:从三个方面来说,一对象的引用计数机制,二垃圾回收机制,三内存池机制 ⒈对象的引用计数机制 Python 内部使用引用计数,来保持追踪内存中的对象,所有对 ...
- MySQL报错 SQL ERROR:1064 ,SQLState:42000
使用mysql新增数据时报错,具体信息如图所示: 错误原因: 所建的表中 表名或字段名与数据库关键字冲突 解决办法 可以根据报错信息,查看错误的具体位置,找到数据库中对应的字段,查询是否与关键字(不分 ...
- C++中如何可以修改const函数内的成员变量的值?
呵呵,你使用mutable关键字来定义变量就可以了.下面举例说明 C++关键字mutable Mutable (1)mutable的意思是"可变的,易变的",跟C++中的const ...
- Redis 大 key 问题总结
多大的 key 算大? 阿里云Redis 最佳实践中提到 合理的 Key 中 Value 的字节大小,推荐小于10 KB.过大的 Value 会引发数据倾斜.热点Key.实例流量或 CPU 性能被占满 ...
- 论如何在使用RedisStandaloneConfiguration时让JedisConnectionFactory用上JedisPoolConfig
前言 公司项目上线后经常运行一两天后就会出现延时.无响应的情况,当时第一反应觉得可能是某些业务优化不行,检查业务也没发现有什么问题,前前后后倒是修了两三个BUG,本以为没啥事儿了,但也就好了两天,很奇 ...
- 关于DP动规
今天学了动规,简单记录一下自己理解了的:(要不俺就忘了) 首先,啥是DP??? 动态规划,其实就是组合子问题的解来解决整个问题的解,由于每个子问题他只判断一次,所以不会重复计算,那就很牛啊!!! 专业 ...