当前位置 博文首页 > 文章内容

    Exchange传输队列queue数据库越来越大怎么办?:weixin_33939843的博客

    作者:shunshunshun18 栏目:未分类 时间:2021-10-17 20:31:40

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    推荐 IIS7批量FTP管理工具 IIS7批量FTP管理
    IIS7批量FTP管理功能说明:
    1、可批量导入,导出FTP信息
    2、其他ftp工具有的功能,我们也有
    3、特色功能:可以定时上传下载
    4、数据信息列表化、一眼就能知道那个是那个
    5、批量连接 标签页式切换 方便快捷
    6、7大连接模式 更多好的兼容
    7、内嵌编辑器 有效解决普通txt记事本乱码
    8、锁屏功能 当程序有规定时间内没人操作,则自动锁程序。输入密码才可以正常操作

    本产品适用于:懒得记录FTP信息和有批量定时备份,上传下载的运维或站长。

    图:


    IIS7批量FTP管理

            大家好,今天为大家分享一下日常管理中Exchange数据库的一些维护操作。我们知道当我发送邮件时邮件都是先到一个Exchange的临时的队列数据库中,然后再提交到用户邮箱中。随着时间的推移队列数据库大小会不断的增加(查看传输队列数据库位置可以查看EdgeTransport.exe.config文件中的QueueDatabasePath和QueueDatabaseLoggingPath指向的路径即为队列数据库和日志所在位置),此时就需要管理员对传输队列数据库进行维护,减小传输队列数据库的大小或者将传输队列数据库移动到其他磁盘。通常引起传输队列数据库大小不断增加的原因可能是发送大量的邮件或存在发送大附件的邮件。

       首先,来看看队列数据库的文件结构。其中mail.que存放的是队列消息文件,也就是队列数据库。由于队列数据库是可扩展存储引擎 (ESE) 数据库,所有有日志检查点文件.chk。.log为日志文件。传输队列数据库设计的时候就自动开启了循环日志,已经写入到数据库的日志会自动清除。

    p_w_picpath

        当传输队列数据库文件过大有哪些措施:

    方法一、重新生成新的传输队列数据库。

    方法二、对传输队列数据库进行整理,释放传输队列数据库空白空间。(此方法也适用于传输队列数据库因为大量邮件投递被迫停止,无法启动)

     

    方法一我相信很多人都试过,就是首先将Exchange传输服务停止,然后将目录C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\data下的Queue重命名为一个其他名字(例如:Queue.old),然后重新启动传输服务器,这样会重新生成一个信息队列数据库。这样操作之前要保证当前服务器的传输队列中没有还未投递的邮件,为了防止丢失邮件可以使用命令Get-Queue查看一下邮件队列情况。

    p_w_picpath

     

    下面着重分享一下方法二,在进行方法二操作之前首先要明确此方法可以应用于哪些场景:

    1)、当传输队列数据库中堆积大量未发送的邮件,导致传输服务无法正常启动。

    方法二的具体操作思路是,首先将传输队列数据库复制粘贴到其他备用位置(此时传输服务应处于停止状态),然后对传输队列数据库进行日志重播、磁盘碎片整理和修复等操作,最好将修复完成的队列数据库复制拷贝到队列数据库对应位置替换现有队列数据库文件(对应生产服务器上如果出现问题的服务器传输服务无法启动,又要及时恢复正常邮件收发,又要保证数据不要丢失;此时我们可以先按照方法一恢复正常邮件收发,然后将恢复后的队列数据库复制到另外的Exchange服务器的传输队列数据库,由其他Exchange服务器来负责将未发送的邮件发送出去。此时需要注意的是新Exchange服务器必须和源Exchange服务器的版本保持一致)

         下面我分享一个我之前测试的步骤

    1、将传输队列数据库复制到临时目录。

    2、打开Powershell,使用命令eseutil.exe /mh  “队列数据库完整路径”,查看数据库的状态,如果State: Dirty Shutdown,说明数据库处于异常关闭状态,需要进行日志重播和数据库修复。

    p_w_picpath

     

    3、接下来使用命令: esetuil  /r trn /d “队列数据库路径” /I  “日志文件路径”  对数据库进行日志重播,如果失败,则进行第四步操作。

    p_w_picpath

    4、对传输队列数据库进行日志重播失败后(软修复),只能进行硬修复了。使用命令 :  eseutil.exe /p “数据库完整路径”  /t “临时文件存放目录”

    p_w_picpath

    5、接下来使用命令: eseutil.exe /d “数据库路径” /t “临时文件存放路径”    对传输队列数据库进行数据整理,释放空白空间。

    p_w_picpath

    6、再次停止传输服务器,将修复后的队列数据库覆盖现有传输队列数据库,然后启动传输服务。(如果传输服务无法启动,需要将C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\data\queue目录下的其余文件剪切出去,只保留mail.que文件,然后启动传输服务。这样进行此步操作时要保证当前服务器的传输队列中没有未投递的邮件)

     

         我在执行过程中遇到如下问题,我的解决方法是将队列数据库文件复制到其他空目录中,然后再次运行命令进行修复。

    p_w_picpath

    cs