question

KristinaKacer1442 avatar image
0 Votes"
KristinaKacer1442 asked KristinaKacer1442 commented

microsoft Exchenge server 2016 update

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

office-exchange-server-administration
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

KristinaKacer1442 avatar image
1 Vote"
KristinaKacer1442 answered KristinaKacer1442 commented

@KaelYao-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://docs.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://docs.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

· 2
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Thanks very much for your sharing!

0 Votes 0 ·

You are welcome.

Kristina

0 Votes 0 ·
AndyDavid avatar image
0 Votes"
AndyDavid answered

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://docs.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://docs.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


5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

KristinaKacer1442 avatar image
0 Votes"
KristinaKacer1442 answered AndyDavid commented

@AndyDavid

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

· 1
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Yes, follow the steps I listed above.
You have to upgrade the CU first, then apply "Exchange2016-KB5000871-x64-en.msi"


0 Votes 0 ·
KristinaKacer1442 avatar image
0 Votes"
KristinaKacer1442 answered KaelYao-MSFT commented

@AndyDavid

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>b0()
at Microsoft.Exchange.Cluster.Shared.SafeRefCountedTimeoutWrapper.<>c
DisplayClass21_0.<ProtectedCallWithTimeout>b0()
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>b4()
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>b0()
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>b0(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

· 9
5 |1600 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Hi, Kristina.

From the error message, it seems the problem is caused by DiscoverySearchMailbox and not being able to mountMDB02.
Please run the following command to check the status of the database:

 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,
77639-83.png
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"

If the status turns to clean shutdown, please mount the database and rerun the install.


0 Votes 0 ·
83.png (14.9 KiB)

Hello @KaelYao-MSFT ,

Thnaks for you help, do all this steps and now database state Cean Shutddown. But how mount the database, becous power shell dont recognize the comand:
C:\>Mount-Database -Identity MDB02
Mount-Database : The term 'Mount-Database' is not recognized as the name of a cmdlet, function, script file, or operabl
e program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ Mount-Database -Identity MDB02
+ ~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Mount-Database:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

0 Votes 0 ·

Server is in maintenance mode, because i want to install CU19. And I think, I am not allowed to mount database because of that.

C:\>Mount-Database -Identity MDB02
Mount-Database : The term 'Mount-Database' is not recognized as the name of a cmdlet, function, script file, or operabl
e program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ Mount-Database -Identity MDB02
+ ~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Mount-Database:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

Kristina

0 Votes 0 ·
KaelYao-MSFT avatar image KaelYao-MSFT KristinaKacer1442 ·

Hi, Kristina.

Sorry I forgot to mention the "Mount-Database" command should be run via EMS instead of Powershell.

Besides, since you mentioned "Server is in maintenance mode",
do you have a DAG in the environment? Or it is a stand-alone Exchange server?

0 Votes 0 ·
Show more comments