Обновление Exchange Server 2016: ошибка подключения базы данных
Я пытался обновить свой 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
команда для восстановления поврежденной базы данных.