Exchange 标准版 Lic 在单台服务器上最多支持 5 个邮箱数据库。 使用 DAG 做高可用后,集群可用数据库数量会更紧张。 因此每台服务器安装完成后自带的默认数据库,通常需要迁出系统邮箱后再回收,以腾出名额。

为何要回收默认库

标准版单机数据库上限为 5 个。进入 DAG 后,副本与可用库数量进一步受限, 默认库若长期占用名额,会直接影响后续业务库规划。安装完成后及时回收默认库,是常见基线操作。

仲裁邮箱说明

第一台 Exchange 服务器安装完成时创建的默认数据库中,存有服务功能依赖的仲裁邮箱。 回收前必须先把这些仲裁邮箱迁出,再卸除并删除默认数据库。

仲裁邮箱迁移

通过 Exchange 管理面板(EAC)按批处理迁移即可,步骤如下。

登录 Exchange 管理面板:

登录 Exchange 管理面板
图 1 · 登录 Exchange 管理面板

新建迁移批处理:

新建迁移批处理
图 2 · 新建迁移批处理

选中本地默认数据库内所有的邮箱:

选中本地默认数据库内所有邮箱
图 3 · 选中本地默认数据库内所有邮箱

填写邮箱迁移位置:

填写邮箱迁移位置
图 4 · 填写邮箱迁移位置

填写批处理完成后的邮件通知人,开始迁移:

填写通知人并开始迁移
图 5 · 填写通知人并开始迁移

查看迁移进度:

查看迁移进度
图 6 · 查看迁移进度

等待迁移完成:

迁移完成
图 7 · 等待迁移完成

数据库卸除与删除

将已清空邮箱的数据库从 Exchange 上卸除。本地默认数据库无高可用配置,直接卸除即可,不影响服务。

卸除默认邮箱数据库
图 8 · 卸除默认邮箱数据库

卸除后可操作删除:

删除邮箱数据库
图 9 · 卸除后删除数据库

删除报错处理

即使已移动或禁用所有用户、公用文件夹和仲裁邮箱,在运行删除邮箱数据库时,也可能收到错误消息, 提示 Microsoft Exchange Server 数据库上仍有邮箱,报错信息可能与以下内容类似。

此邮箱数据库包含一个或多个邮箱、邮箱计划、存档邮箱、公用文件夹邮箱仲裁邮箱或审核邮箱。 若要获取此数据库中所有邮箱的列表,请运行命令Get-Mailbox -Database 。 若要获取此数据库中所有邮箱计划的列表,请运行 Get-MailboxPlan 命令。 若要获取此数据库中的存档邮箱列表,请运行命令Get-Mailbox -Database -Archive。 若要获取此数据库中所有公用文件夹邮箱的列表,请运行命令Get-Mailbox -Database -PublicFolder。 若要获取此数据库中所有仲裁邮箱的列表,请运行命令Get-Mailbox -Database -Arbitration。 若要获取此数据库中所有 Audit 邮箱的列表,请运行命令Get-Mailbox -Database -AuditLog。

若要禁用非仲裁邮箱以便可以删除邮箱数据库,请运行Disable-Mailbox <邮箱 ID> 的命令。 若要禁用存档邮箱以便删除邮箱数据库,请运行Disable-Mailbox <邮箱 ID> -Archive 的命令。 若要禁用公用文件夹邮箱以便删除邮箱数据库,请Disable-Mailbox <邮箱 ID> -PublicFolder 运行命令。 应将审核邮箱移动到另一台服务器;为此,请运行命令New-MoveRequest <参数>。 如果这是组织中的最后一台服务器,请运行命令Get-Mailbox -AuditLog |Disable-Mailbox。 仲裁邮箱应移动到另一台服务器;为此,请运行命令New-MoveRequest <参数>。 如果这是组织中的最后一台服务器,请运行命令Disable-Mailbox <邮箱 ID> -Arbitration -DisableLastArbitrationMailboxAllowed 以禁用仲裁邮箱。 邮箱计划应移动到另一台服务器;若要执行此操作,请Set-MailboxPlan -Database 运行命令。

+ CategoryInfo: InvalidOperation: (数据库 ID :D atabaseIdParameter) [Remove-MailboxDatabase], AssociatedUserMailboxExistException

+ FullyQualifiedErrorId: [Server= Server,RequestId= RequestId,TimeStamp= TimeStamp ] [FailureCategory=Cmdlet-AssociatedUserMailboxExistException] XXXXXXXX,Microsoft.Exchange.Management.SystemConfigurationTasks.RemoveMailboxDatabase

+ PSComputerName: 计算机名称

官方提示的排查命令可对照执行:

Get-Mailbox -Database <Database ID>
Get-MailboxPlan
Get-Mailbox -Database <Database ID> -Archive
Get-Mailbox -Database <Database ID> -PublicFolder
Get-Mailbox -Database <Database ID> -Arbitration

对应处理思路:

  • 普通邮箱:Disable-Mailbox <邮箱 ID>
  • 存档邮箱:Disable-Mailbox <邮箱 ID> -Archive
  • 公用文件夹邮箱:Disable-Mailbox <邮箱 ID> -PublicFolder
  • 仲裁邮箱:迁移到其他服务器,使用 New-MoveRequest;若为本组织最后一台服务器,可用 Disable-Mailbox <邮箱 ID> -Arbitration -DisableLastArbitrationMailboxAllowed
  • 邮箱计划:Set-MailboxPlan <MailboxPlan ID> -Database <Database ID>

AuditLog 邮箱排查

我们直接说答案,Exchange Server 2016 / 2019 引入了 AuditLog 邮箱。 它可能仍留在默认库中,从而阻止删除。错误信息里也会提示使用 Get-Mailbox -Database <Database ID> -AuditLog 检查审核邮箱。

在 Exchange Management Shell 中确认是否存在:

Get-Mailbox -AuditLog -Database <DatabaseName>
查询 AuditLog 邮箱
图 10 · 使用 Get-Mailbox -AuditLog 查询

若存在 AuditLog 邮箱,需要一并迁移:

Get-Mailbox -AuditLog -Database <SourceDatabaseName> |
  New-MoveRequest -TargetDatabase <TargetDatabaseName>
迁移 AuditLog 邮箱
图 11 · 迁移 AuditLog 邮箱

使用以下命令查看迁移进度:

Get-MoveRequest | Get-MoveRequestStatistics
查看 MoveRequest 迁移进度
图 12 · 查看迁移进度

完成后回到删除数据库界面继续删除。