我有几个单独的测试环境,分别运行 2008 R2 和 Exchange 2010,补丁级别不同,原因也不同。我遇到的一个常见问题是 Exchange 的事务日志没有被截断,因为没有备份解决方案,我也不想要备份解决方案。
因此,在我看来,我有三个选择:
- 启用
circular logging
。这对于某些测试场景来说并不理想,因为它可能与正确模拟特定环境相冲突。 - 卸载所有数据库并运行
eseutil /mh
。此方法可行,但维护过程繁琐。 - 一些伪备份实用程序(或一些受支持的、低影响的技巧)可以“欺骗” Exchange,使其相信现在可以安全地截断。
前两个我可以做,但是不愿意。有没有办法做第三个选项?
答案1
不偷窃乔奎蒂的雷声,我认为他对这个问题的回答非常有效,而且几乎适用于任何场景,除了您的情况。(这就是我赞成它的原因。)但是,我确实找到了一种方法来做您想要的事情……
伪造的 VSS 备份
基本上,这样做会在 Exchange 数据库所在的卷上伪造 VSS 备份,最终导致 Exchange 截断日志。
中断增量备份
这将破坏任何备份软件的增量备份链,因此下一个真正的备份必须是完整备份。
使用被动副本
在 DAG 中,如果可能的话,在被动副本上执行此操作。
程序
你必须添加两个都数据库的驱动器/安装点和日志。
- 以管理员身份打开命令提示符
- 跑步
diskshadow
- 类型
add volume x:
(其中“x”是 Exchange 数据库的驱动器) - 类型
add volume y:
(其中“y”是 Exchange 日志的驱动器) - 类型
begin backup
- 输入
create
。VSS 会花几分钟来执行此操作。 - 输入
end backup
。这是将日志设置为截断的地方。您必须等待下一个日志生成后才会开始执行。
此时,如果您查看应用程序 eventvwr 日志,您应该会看到类似以下内容的条目:
(或者您可以像这样尝试 PowerShell Get-EventLog -LogName application -Source msexchangeis | select -first 10
:)
希望有帮助...
来源
引用:http://ilantz.com/2011/10/26/how-to-manually-purge-exchange-server-logs-clean-and-easy/
答案2
使用 Windows Server Backup 备份服务器。备份成功后,它将清除 Exchange Server 事务日志。
http://technet.microsoft.com/en-us/magazine/jj906377.aspx
编辑
您可以尝试以下方法放弃备份路线。这是一个手动过程,但除了备份之外,它可能比其他任何方法都更安全:
http://exchangeshare.wordpress.com/2008/05/22/move-committed-exchange-transaction-logs/
编辑:此工具似乎不存在于 Exchange Server 2010 中
答案3
在这种情况下,我会:
- 使能够
Circular Logging
- 卸载存储/数据库以应用此更改。
- 安装商店/数据库这将需要一些时间来整理日志。
- 禁用
Circular Logging
。 - 卸载存储/数据库以应用此更改
- 安装商店/数据库。
希望这可以帮助,
罗斯
答案4
请参考以下链接,它涵盖了所有必要的步骤:
https://community.spiceworks.com/topic/2209505-microsoft-exchange-log-truncation-guide
建议:最佳做法是将 Exchange 数据库和日志文件存储在完全独立的磁盘上。如果任何磁盘发生故障,这将保护 Exchange 服务器免于数据丢失。
希望它能帮助你!