我尝试将 Exchange Server 2016 CU 20 升级到 Exchange Server 2016 CU23,并执行第 7 步(共 11 步):邮箱角色:邮箱服务。升级失败,并出现以下错误。
我们还修复了受影响的数据库,并且修复成功。但是仍然看到错误。
我们尝试重新启动服务器,但问题也未能解决。
所讨论的数据库处于健康状态。
Error:
The following error was generated when "$error.Clear();
$name = [Microsoft.Exchange.Management.RecipientTasks.EnableMailbox]::DiscoveryMailboxUniqueName;
$dispname = [Microsoft.Exchange.Management.RecipientTasks.EnableMailbox]::DiscoveryMailboxDisplayName;
$dismbx = get-mailbox -Filter {name -eq $name} -IgnoreDefaultScope -resultSize 1;
if( $dismbx -ne $null)
{
$srvname = $dismbx.ServerName;
if( $dismbx.Database -ne $null -and $RoleFqdnOrName -like "$srvname.*" )
{
Write-ExchangeSetupLog -info "Setup DiscoverySearchMailbox Permission.";
$mountedMdb = get-mailboxdatabase $dismbx.Database -status | where { $_.Mounted -eq $true };
if( $mountedMdb -eq $null )
{
Write-ExchangeSetupLog -info "Mounting database before stamp DiscoverySearchMailbox Permission...";
mount-database $dismbx.Database;
}
$mountedMdb = get-mailboxdatabase $dismbx.Database -status | where { $_.Mounted -eq $true };
if( $mountedMdb -ne $null )
{
$dmRoleGroupGuid = [Microsoft.Exchange.Data.Directory.Management.RoleGroup]::DiscoveryManagement_InitInfo.WellKnownGuid;
$dmRoleGroup = Get-RoleGroup -Identity $dmRoleGroupGuid -DomainController $RoleDomainController -ErrorAction:SilentlyContinue;
if( $dmRoleGroup -ne $null )
{
trap [Exception]
{
Add-MailboxPermission $dismbx -User $dmRoleGroup.Name -AccessRights FullAccess -DomainController $RoleDomainController -ErrorAction SilentlyContinue;
continue;
}
Add-MailboxPermission $dismbx -User $dmRoleGroup.Identity -AccessRights FullAccess -DomainController $RoleDomainController -ErrorAction Stop -WarningAction SilentlyContinue;
}
}
}
}
" was run: "System.InvalidOperationException: Failed to mount database "env3-ex16-AdminDB". Error: An Active Manager operation failed. Error: The database action failed. Error: Operation failed with message: MapiExceptionDatabaseError: Unable to mount database. (hr=0x80004005, ec=1108)
Diagnostic context:
Lid: 65256
Lid: 10722 StoreEc: 0x454
Lid: 1494 ---- Remote Context Beg ----
Lid: 1238 Remote Context Overflow
Lid: 34760 StoreEc: 0xFFFFFDF0
Lid: 41344 Guid: fb24818a-4b46-415b-bea4-6a2009cd595c
Lid: 35200 dwParam: 0x1700
Lid: 59596 dwParam: 0x2A034686 Msg: JI20
Lid: 43212 dwParam: 0x2A034696 Msg: JT05
Lid: 43212 dwParam: 0x2A034696 Msg: JT08
Lid: 59596 dwParam: 0x2A034696 Msg: WM19
Lid: 59596 dwParam: 0x2A034696 Msg: WM20
Lid: 59596 dwParam: 0x2A034696 Msg: WM21
Lid: 54472 StoreEc: 0x980
Lid: 42184 StoreEc: 0x454
Lid: 10786 dwParam: 0x0 Msg: 15.01.2507.006:ENV3-EX16:fb24818a-4b46-415b-bea4-6a2009cd595c
Lid: 51578 Guid: fb24818a-4b46-415b-bea4-6a2009cd595c
Lid: 1750 ---- Remote Context End ----
Lid: 1047 StoreEc: 0x454 [Database: env3-ex16-AdminDB, Server: ENV3-EX16.sptestindia.com] ---> Microsoft.Exchange.Cluster.Replay.AmDbActionWrapperException: An Active Manager operation failed. Error: The database action failed. Error: Operation failed with message: MapiExceptionDatabaseError: Unable to mount database. (hr=0x80004005, ec=1108)
Diagnostic context:
Lid: 65256
Lid: 10722 StoreEc: 0x454
Lid: 1494 ---- Remote Context Beg ----
Lid: 1238 Remote Context Overflow
Lid: 34760 StoreEc: 0xFFFFFDF0
Lid: 41344 Guid: fb24818a-4b46-415b-bea4-6a2009cd595c
Lid: 35200 dwParam: 0x1700
Lid: 59596 dwParam: 0x2A034686 Msg: JI20
Lid: 43212 dwParam: 0x2A034696 Msg: JT05
Lid: 43212 dwParam: 0x2A034696 Msg: JT08
Lid: 59596 dwParam: 0x2A034696 Msg: WM19
Lid: 59596 dwParam: 0x2A034696 Msg: WM20
Lid: 59596 dwParam: 0x2A034696 Msg: WM21
Lid: 54472 StoreEc: 0x980
Lid: 42184 StoreEc: 0x454
Lid: 10786 dwParam: 0x0 Msg: 15.01.2507.006:ENV3-EX16:fb24818a-4b46-415b-bea4-6a2009cd595c
Lid: 51578 Guid: fb24818a-4b46-415b-bea4-6a2009cd595c
Lid: 1750 ---- Remote Context End ----
Lid: 1047 StoreEc: 0x454 [Database: env3-ex16-AdminDB, Server: ENV3-EX16.sptestindia.com] ---> Microsoft.Exchange.Data.Storage.AmOperationFailedException: An Active Manager operation failed. Error: Operation failed with message: MapiExceptionDatabaseError: Unable to mount database. (hr=0x80004005, ec=1108)
Diagnostic context:
Lid: 65256
Lid: 10722 StoreEc: 0x454
Lid: 1494 ---- Remote Context Beg ----
Lid: 1238 Remote Context Overflow
Lid: 34760 StoreEc: 0xFFFFFDF0
Lid: 41344 Guid: fb24818a-4b46-415b-bea4-6a2009cd595c
Lid: 35200 dwParam: 0x1700
Lid: 59596 dwParam: 0x2A034686 Msg: JI20
Lid: 43212 dwParam: 0x2A034696 Msg: JT05
Lid: 43212 dwParam: 0x2A034696 Msg: JT08
Lid: 59596 dwParam: 0x2A034696 Msg: WM19
Lid: 59596 dwParam: 0x2A034696 Msg: WM20
Lid: 59596 dwParam: 0x2A034696 Msg: WM21
Lid: 54472 StoreEc: 0x980
Lid: 42184 StoreEc: 0x454
Lid: 10786 dwParam: 0x0 Msg: 15.01.2507.006:ENV3-EX16:fb24818a-4b46-415b-bea4-6a2009cd595c
Lid: 51578 Guid: fb24818a-4b46-415b-bea4-6a2009cd595c
Lid: 1750 ---- Remote Context End ----
Lid: 1047 StoreEc: 0x454 [Server: ENV3-EX16.sptestindia.com] ---> Microsoft.Mapi.MapiExceptionDatabaseError: MapiExceptionDatabaseError: Unable to mount database. (hr=0x80004005, ec=1108)
Diagnostic context:
Lid: 65256
Lid: 10722 StoreEc: 0x454
Lid: 1494 ---- Remote Context Beg ----
Lid: 1238 Remote Context Overflow
Lid: 34760 StoreEc: 0xFFFFFDF0
Lid: 41344 Guid: fb24818a-4b46-415b-bea4-6a2009cd595c
Lid: 35200 dwParam: 0x1700
Lid: 59596 dwParam: 0x2A034686 Msg: JI20
Lid: 43212 dwParam: 0x2A034696 Msg: JT05
Lid: 43212 dwParam: 0x2A034696 Msg: JT08
Lid: 59596 dwParam: 0x2A034696 Msg: WM19
Lid: 59596 dwParam: 0x2A034696 Msg: WM20
Lid: 59596 dwParam: 0x2A034696 Msg: WM21
Lid: 54472 StoreEc: 0x980
Lid: 42184 StoreEc: 0x454
Lid: 10786 dwParam: 0x0 Msg: 15.01.2507.006:ENV3-EX16:fb24818a-4b46-415b-bea4-6a2009cd595c
Lid: 51578 Guid: fb24818a-4b46-415b-bea4-6a2009cd595c
Lid: 1750 ---- Remote Context End ----
Lid: 1047 StoreEc: 0x454
at Microsoft.Mapi.MapiExceptionHelper.InternalThrowIfErrorOrWarning(String message, Int32 hresult, Boolean allowWarnings, Int32 ec, DiagnosticContext diagCtx, Exception innerException)
at Microsoft.Mapi.MapiExceptionHelper.ThrowIfError(String message, Int32 hresult, IExInterface iUnknown, Exception innerException)
at Microsoft.Mapi.ExRpcAdmin.MountDatabase(Guid guidStorageGroup, Guid guidMdb, Int32 ulFlags)
at Microsoft.Exchange.Cluster.Replay.StoreRpcController.<>c__DisplayClass19_0.<MountDatabase>b__0()
at Microsoft.Exchange.Cluster.Shared.SafeRefCountedTimeoutWrapper.<>c__DisplayClass21_0.<ProtectedCallWithTimeout>b__0()
at Microsoft.Exchange.Data.HA.InvokeWithTimeout.Invoke(Action invokableAction, Action foregroundAction, TimeSpan invokeTimeout, Boolean sendWatsonReportNoThrow, Object cancelEvent)
at Microsoft.Exchange.Cluster.Shared.SafeRefCountedTimeoutWrapper.ProtectedCallWithTimeout(String operationName, TimeSpan timeout, Action operation)
at Microsoft.Exchange.Cluster.ActiveManagerServer.AmStoreHelper.Mount(Guid mdbGuid, MountFlags flags)
at Microsoft.Exchange.Cluster.ActiveManagerServer.ActiveManagerCore.<>c__DisplayClass45_2.<MountDatabaseDirect>b__4()
at Microsoft.Exchange.Cluster.Replay.FailoverPerformanceTrackerBase`1.RunTimedOperation(TOpCode opCode, Action operation)
at Microsoft.Exchange.Cluster.ActiveManagerServer.ActiveManagerCore.MountDatabaseDirect(Guid mdbGuid, MountFlags storeFlags, AmMountFlags amMountFlags, AmDbActionCode actionCode)
at Microsoft.Exchange.Cluster.ActiveManagerServer.AmRpcServer.<>c__DisplayClass19_0.<MountDatabaseDirect>b__0()
at Microsoft.Exchange.Data.Storage.Cluster.HaRpcExceptionWrapperBase`2.RunRpcServerOperation(String databaseName, RpcServerOperation rpcOperation)
--- End of inner exception stack trace ---
at Microsoft.Exchange.Data.Storage.Cluster.HaRpcExceptionWrapperBase`2.ClientRethrowIfFailed(String databaseName, String serverName, RpcErrorExceptionInfo errorInfo)
at Microsoft.Exchange.Data.Storage.ActiveManager.AmRpcClientHelper.RunRpcOperationWithAuth(AmRpcOperationHint rpcOperationHint, String serverName, String databaseName, NetworkCredential networkCredential, Nullable`1 timeoutMs, InternalRpcOperation rpcOperation)
at Microsoft.Exchange.Data.Storage.ActiveManager.AmRpcClientHelper.MountDatabaseDirectEx(String serverToRpc, Guid dbGuid, AmMountArg mountArg)
at Microsoft.Exchange.Cluster.ActiveManagerServer.AmRpcClientWrapper.MountDatabaseDirectEx(String serverToRpc, Guid dbGuid, AmMountArg mountArg)
at Microsoft.Exchange.Cluster.ActiveManagerServer.AmDbAction.MountDatabaseDirect(AmServerName serverName, AmServerName lastMountedServerName, Guid dbGuid, MountFlags storeFlags, AmMountFlags amFlags, AmDbActionCode actionCode)
at Microsoft.Exchange.Cluster.ActiveManagerServer.AmDbStandaloneAction.<>c__DisplayClass1_0.<MountInternal>b__0(Object <p0>, EventArgs <p1>)
at Microsoft.Exchange.Cluster.ActiveManagerServer.AmHelper.HandleKnownExceptions(EventHandler ev)
--- End of inner exception stack trace ---
at Microsoft.Exchange.Data.Storage.Cluster.HaRpcExceptionWrapperBase`2.ClientRethrowIfFailed(String databaseName, String serverName, RpcErrorExceptionInfo errorInfo)
at Microsoft.Exchange.Data.Storage.ActiveManager.AmRpcClientHelper.RunDatabaseRpcWithReferral(AmRpcOperationHint rpcOperationHint, IADDatabase database, String targetServer, InternalRpcOperation rpcOperation)
at Microsoft.Exchange.Management.SystemConfigurationTasks.MountDatabase.RequestMount(MountFlags storeMountFlags)
at Microsoft.Exchange.Management.SystemConfigurationTasks.MountDatabase.InternalProcessRecord()
--- End of inner exception stack trace ---
at Microsoft.Exchange.Configuration.Tasks.Task.ThrowError(Exception exception, ErrorCategory errorCategory, Object target, String helpUrl)
at Microsoft.Exchange.Configuration.Tasks.Task.WriteError(Exception exception, ErrorCategory category, Object target)
at Microsoft.Exchange.Management.SystemConfigurationTasks.MountDatabase.InternalProcessRecord()
at Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__91_1()
at Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)".
答案1
您是否在维护模式下添加 Exchange 服务器?检查本指南。
此次更新的前提条件是 Microsoft .NET Framework 4.8,而您说的这个版本已经安装了。
您还需要安装新的 Visual C++ 组件- 查看这个变更日志。
您可以在数据库修复后应用此更新,您出现的错误是由于数据库损坏造成的:
无法安装数据库(hr=0x80004005,ec=1108)
由于您遇到的错误是缺少日志文件,Exchange 信息存储无法启动,数据库或日志文件卷上的可用磁盘空间不足,Exchange“异常关闭”错误。您可以使用Eseutil
命令修复损坏的数据库。