Update Servers/Microsoft Exchange/Scripts/DAG/Database Management.md
All checks were successful
GitOps Automatic Deployment / GitOps Automatic Deployment (push) Successful in 7s
All checks were successful
GitOps Automatic Deployment / GitOps Automatic Deployment (push) Successful in 7s
This commit is contained in:
@ -22,6 +22,19 @@ Get-MailboxDatabaseCopyStatus * | Format-Table Name, Status, CopyQueueLength, Re
|
||||
|
||||
When both the "**CopyQueueLength**" and "**CopyReplayLength**" queues have reached zero, the replica database(s) will have reached 100% parity with the production (active/mounted) database.
|
||||
|
||||
### Changing Active/Mounted DAG Member
|
||||
You may find that you need to perform work on one of the DAG members, and that requires you to failover the responsibility of hosting the Exchange environment to one of the other members of the DAG. You can generally do this with one command, seen below:
|
||||
```powershell
|
||||
Move-ActiveMailboxDatabase -Identity "DB01" -ActivateOnServer "MX-DAG-02" -MountDialOverride BestAvailability
|
||||
```
|
||||
|
||||
!!! info "Argument Breakdown"
|
||||
`-MountDialOverride`
|
||||
Specifies how tolerant Exchange should be to database copy health when mounting a database on the target server. This setting controls the level of availability Exchange requires before mounting the mailbox database after the move.
|
||||
|
||||
`-MountDialOverride`
|
||||
Instructs Exchange to mount the database as long as at least one healthy copy is available. This option maximizes uptime by allowing a database to mount even if some copies are unhealthy, prioritizing availability over strict health checks.
|
||||
|
||||
### Troubleshooting
|
||||
You may run into issues where either the `Status` or `ContentIndexState` are either Unhealthy, Suspended, or Failed. If this happens, you need to resume replication of the database from the production active/mounted server to the server that is having issues. In the worst-case, you would re-seed the replica database from-scratch.
|
||||
|
||||
@ -36,7 +49,7 @@ If this fails to cause replication to resume, you can try telling the database t
|
||||
Resume-MailboxDatabaseCopy -Identity "DB01\MX-DAG-02" -ReplicationOnly
|
||||
```
|
||||
|
||||
### If `ContentIndexState` is Unhealthy
|
||||
### If `ContentIndexState` is Unhealthy or Suspended
|
||||
If you see that the "ContentIndexState" is unhappy, you can run the following command to force it to re-seed / rebuild itself. (This is non-destructive this this is happening on a replica database).
|
||||
```powershell
|
||||
Update-MailboxDatabaseCopy "DB01\MX05" -CatalogOnly -BeginSeed
|
||||
@ -46,7 +59,7 @@ Update-MailboxDatabaseCopy "DB01\MX05" -CatalogOnly -BeginSeed
|
||||
If the replica database just is not playing nice, you can take the *nuclear option* of completely rebuilding the replica database.
|
||||
|
||||
!!! warning
|
||||
This will destroy the replica database, so be careful to ensure you have a backup (if possible) before you do this. The following command will replicate the data from the production active/mounted database to the replica database.
|
||||
This will destroy the replica database, so be careful to ensure you have a backup (if possible) before you do this. The following command will completely replace the replica database and replicate the data from the production active/mounted database to the newly-created replica database.
|
||||
```powershell
|
||||
Update-MailboxDatabaseCopy -Identity "DB01\MX-DAG-02" -SourceServer "MX-DAG-01"
|
||||
```
|
||||
|
Reference in New Issue
Block a user