microsoft Exchenge server 2016 update

Kristina 101 Reputation points
2021-03-12T15:37:50.637+00:00

Hello
I have an exchange server 2016 15.01.0544.030, how can I upgrade to 19 CU or 18 CU when I try to upgrade, writes can not perform this upgrade because it is not supported. maybe I should run previous upgrades and try to upgrade to 19 CU or 18 CU? I need todo this upgrade becous is risk "HAFNIUM targeting Exchange Servers with 0-day exploits".

Thanks.
Kristina

Exchange Server Management
Exchange Server Management
Exchange Server: A family of Microsoft client/server messaging and collaboration software.Management: The act or process of organizing, handling, directing or controlling something.
6,091 questions
No comments
{count} votes

Accepted answer
  1. Kristina 101 Reputation points
    2021-03-26T10:34:59.693+00:00

    @Kael Yao-MSFT
    Steps that I followed:

    Run each step separately:
    Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareSchema
    Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareAD
    Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareAllDomains

    Then install .net 4.8
    https://learn.microsoft.com/en-us/exchange/plan-and-deploy/supportability-matrix?view=exchserver-2019#microsoft-net-framework

    Start insstall CU19 and I got very long error about database mount (Manager operation failed. Error: The database action failed. Error: Operation failed with message: MapiExceptionDatabaseError: Unable to mount database. (hr=0x80004005, ec=1108)

    Then I run these commands, check DB status, and recovery DB.

    eseutil /mh "path of the edb file(For example, C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\Mailbox Database 1947485730\Mailbox Database 1947485730.edb "

    If the status shows dirty shutdown,

    please run this command to perform a soft recovery first and rerun eseutil /mh to check if the status turns to clean shutdown:

    eseutil /r "path of the edb file"

    If the status is still dirty shutdown, please run this command to perform a hard recovery and rerun eseutil /mh to check the status :

    eseutil /p "path of edb file"

    The DB status turns to clean shutdown. Restart server.

    Then I remove and recreate the discovery mailbox :

    https://learn.microsoft.com/en-us/exchange/delete-and-re-create-default-discovery-mailbox-exchange-2013-help

    Then restart server and rerun setup and CU19 setup was finished.

    And finally install the security patch (using cmd as administrator):

    Critical Patch:
    https://www.microsoft.com/en-us/download/details.aspx?id=102772

    Kristina


3 additional answers

Sort by: Most helpful
  1. Andy David - MVP 109.9K Reputation points Microsoft MVP
    2021-03-12T15:59:22.243+00:00

    What do you mean "when I try to upgrade, writes can not perform this upgrade because it is not supported." What is the error message exactly and what is the name of the file you are trying to install?

    https://learn.microsoft.com/en-us/exchange/plan-and-deploy/prepare-ad-and-domains?view=exchserver-2016

    Run each step separately:
    Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareSchema
    Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareAD
    Setup.exe /IAcceptExchangeServerLicenseTerms /PrepareAllDomains

    Then install .net 4.8
    https://learn.microsoft.com/en-us/exchange/plan-and-deploy/supportability-matrix?view=exchserver-2019#microsoft-net-framework

    75410-image.png

    Then install CU19:
    CU19:
    https://www.microsoft.com/en-us/download/details.aspx?id=102532
    Then install the security patch:

    Critical Patch:
    https://www.microsoft.com/en-us/download/details.aspx?id=102772

    No comments

  2. Kristina 101 Reputation points
    2021-03-12T19:47:43.823+00:00

    @Andy David - MVP

    I try install "Exchange2016-KB5000871-x64-en.msi" and I get this text :
    The upgrade patch cannot be installed by the windows Installer service, becouse the program to be upgrade may be missing, or the upgrade patch may update a different versions of the program. Verify that the program to be upgraded exists on your computer and that you have the correct upgrade patch."

    I think that some updates are missing. Does the steps you are writting about will help to solve the problem?

    Thanks.
    Kristina


  3. Kristina 101 Reputation points
    2021-03-14T09:53:09.617+00:00

    @Andy David - MVP

    Step 13 of 17:Mailbox role : Mailbox service I get very long error with mailbox database MDB02, this database was unmounted and don’t used and now I don’t know what to do:

    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 "MDB02". 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: a8829281-1219-4642-b3b9-7b40a6b58d83
    Lid: 35200 dwParam: 0x4B80
    Lid: 59596 dwParam: 0x7255E5 Msg: JI20
    Lid: 43212 dwParam: 0x7255E5 Msg: JT05
    Lid: 43212 dwParam: 0x7255E5 Msg: JT08
    Lid: 59596 dwParam: 0x7255E5 Msg: WM19
    Lid: 59596 dwParam: 0x7255E5 Msg: WM20
    Lid: 59596 dwParam: 0x7255F5 Msg: WM21
    Lid: 54472 StoreEc: 0x980
    Lid: 42184 StoreEc: 0x454
    Lid: 10786 dwParam: 0x0 Msg: 15.01.2176.002:SVEX:a8829281-1219-4642-b3b9-7b40a6b58d83
    Lid: 51578 Guid: a8829281-1219-4642-b3b9-7b40a6b58d83
    Lid: 1750 ---- Remote Context End ----
    Lid: 1047 StoreEc: 0x454 [Database: MDB02, Server: SVEX.ad.int] ---> 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: a8829281-1219-4642-b3b9-7b40a6b58d83
    Lid: 35200 dwParam: 0x4B80
    Lid: 59596 dwParam: 0x7255E5 Msg: JI20
    Lid: 43212 dwParam: 0x7255E5 Msg: JT05
    Lid: 43212 dwParam: 0x7255E5 Msg: JT08
    Lid: 59596 dwParam: 0x7255E5 Msg: WM19
    Lid: 59596 dwParam: 0x7255E5 Msg: WM20
    Lid: 59596 dwParam: 0x7255F5 Msg: WM21
    Lid: 54472 StoreEc: 0x980
    Lid: 42184 StoreEc: 0x454
    Lid: 10786 dwParam: 0x0 Msg: 15.01.2176.002:SVEX:a8829281-1219-4642-b3b9-7b40a6b58d83
    Lid: 51578 Guid: a8829281-1219-4642-b3b9-7b40a6b58d83
    Lid: 1750 ---- Remote Context End ----
    Lid: 1047 StoreEc: 0x454 [Database: MDB02, Server: SVEX.ad.int] ---> 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: a8829281-1219-4642-b3b9-7b40a6b58d83
    Lid: 35200 dwParam: 0x4B80
    Lid: 59596 dwParam: 0x7255E5 Msg: JI20
    Lid: 43212 dwParam: 0x7255E5 Msg: JT05
    Lid: 43212 dwParam: 0x7255E5 Msg: JT08
    Lid: 59596 dwParam: 0x7255E5 Msg: WM19
    Lid: 59596 dwParam: 0x7255E5 Msg: WM20
    Lid: 59596 dwParam: 0x7255F5 Msg: WM21
    Lid: 54472 StoreEc: 0x980
    Lid: 42184 StoreEc: 0x454
    Lid: 10786 dwParam: 0x0 Msg: 15.01.2176.002:SVEX:a8829281-1219-4642-b3b9-7b40a6b58d83
    Lid: 51578 Guid: a8829281-1219-4642-b3b9-7b40a6b58d83
    Lid: 1750 ---- Remote Context End ----
    Lid: 1047 StoreEc: 0x454 [Server: SVEX.ad.int] ---> 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: a8829281-1219-4642-b3b9-7b40a6b58d83
    Lid: 35200 dwParam: 0x4B80
    Lid: 59596 dwParam: 0x7255E5 Msg: JI20
    Lid: 43212 dwParam: 0x7255E5 Msg: JT05
    Lid: 43212 dwParam: 0x7255E5 Msg: JT08
    Lid: 59596 dwParam: 0x7255E5 Msg: WM19
    Lid: 59596 dwParam: 0x7255E5 Msg: WM20
    Lid: 59596 dwParam: 0x7255F5 Msg: WM21
    Lid: 54472 StoreEc: 0x980
    Lid: 42184 StoreEc: 0x454
    Lid: 10786 dwParam: 0x0 Msg: 15.01.2176.002:SVEX:a8829281-1219-4642-b3b9-7b40a6b58d83
    Lid: 51578 Guid: a8829281-1219-4642-b3b9-7b40a6b58d83
    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_1.<MountDatabaseDirect>b__4()
    at Microsoft.Exchange.Cluster.Replay.FailoverPerformanceTrackerBase1.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.HaRpcExceptionWrapperBase2.RunRpcServerOperation(String databaseName, RpcServerOperation rpcOperation)
    --- End of inner exception stack trace ---
    at Microsoft.Exchange.Data.Storage.Cluster.HaRpcExceptionWrapperBase2.ClientRethrowIfFailed(String databaseName, String serverName, RpcErrorExceptionInfo errorInfo) at Microsoft.Exchange.Data.Storage.ActiveManager.AmRpcClientHelper.RunRpcOperationWithAuth(AmRpcOperationHint rpcOperationHint, String serverName, String databaseName, NetworkCredential networkCredential, Nullable1 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 <sender>, EventArgs <e>)
    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)".

    Kristina