Erreur lors de l’exécution du script StartDagServerMaintenance.ps1 dans Exchange Server 2010

Numéro de la base de connaissances d’origine : 3058960

Symptômes

Vous essayez de configurer un serveur qui se trouve dans un groupe de disponibilité de base de données (DAG) en mode maintenance en exécutant le StartDagServerMaintenance.ps1 script. Toutefois, le script échoue et vous recevez le message d’erreur suivant :

VERBOSE: [Time UTC] Move-DagActiveCopy: Entering: `$MailboxServer=ExServer, `$Database=
VERBOSE: [Time UTC] Move-DagActiveCopy: Moving all replicated active databases off server ExServer
VERBOSE: [Time UTC] Move-DagActiveCopy: moving database 'DBName' off server 'ExServer'
VERBOSE: [Time UTC] Move-DagMasterCopy: Entering: `$db=DBName, `$srcServer=ExServer, `$preferredTarget=
VERBOSE: [Time UTC] Test-DagTargetCopy: Testing move criteria for DatabaseName\ExchangeServer, with `$Lossless=True and
`$CICheck=False …
VERBOSE: [Time UTC] Test-DagTargetCopy: Name='DatabaseName\ExchangeServer', Status='DisconnectedAndHealthy',
CIStatus='Healthy', CopyQueueLength=0, ReplayQueueLength=0
VERBOSE: [Time UTC] Test-DagTargetCopy: Leaving (returning 'False')
VERBOSE: [Time UTC] Test-DagTargetCopy: Testing move criteria for DBName\DR-ExServer, with `$Lossless=True
and `$CICheck=False …
VERBOSE: [Time UTC] Test-DagTargetCopy: Name='DBName\DR-ExServer', Status='DisconnectedAndHealthy',
CIStatus='Healthy', CopyQueueLength=0, ReplayQueueLength=0
VERBOSE: [Time UTC] Test-DagTargetCopy: Leaving (returning 'False')
VERBOSE: [Time UTC] Move-DagMasterCopy: 0 copies out of 3 for database DBName will be attempted for move.
Log-Error : [Time UTC] Move-DagMasterCopy: Database 'DBName' *FAILED* to move! Now attempting to perform rollback to prevent a DB outage…

At D:\Program Files\Microsoft\Exchange\V14\scripts\DagCommonLibrary.ps1:483 char:14
+ Log-Error <<<< ($DagCommonLibrary_LocalizedStrings.res_0064 –f $db,"Move-DagMasterCopy")
+ CategoryInfo : NotSpecified: ( : ) [Write-Error], WriteErrorException + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Log-Error

En outre, lorsque vous exécutez l’applet Get-MailboxDatabaseCopyStatus de commande sur la base de données, la base de données ne signale pas le status DisconnectedAndHealthy comme prévu.

Solution de contournement

Pour contourner ce problème, utilisez les méthodes suivantes pour basculer manuellement les bases de données à partir de ce serveur.

Mettre le serveur en mode maintenance

  1. Vérifiez qu’au moins une autre copie non-décalage de chaque base de données répliquée est saine. Pour ce faire, exécutez la commande EMS (Exchange Management Shell) suivante :

    Get-MailboxDatabase -Server 'MaintenanceServerName' | Get-MailboxDatabaseCopyStatus
    
  2. Déplacez toutes les bases de données de ce serveur en exécutant la commande EMS suivante :

    Move-ActiveMailboxDatabase -Server 'MaintenanceServerName'
    

    Remarque

    Aucun serveur cible n’est spécifié, ce qui signifie que la meilleure copie suivante est automatiquement sélectionnée pour l’activation.

  3. Déplacez les ressources principales du cluster vers un autre nœud dans le DAG. Pour ce faire, exécutez la commande suivante à l’invite de commandes :

    cluster.exe DAGFQDN group "ClusterGroup" /moveto: 'MaintenanceServerName'
    
  4. Suspendez toutes les copies sur le serveur en exécutant la commande EMS suivante :

    Get-MailboxDatabaseCopyStatus -Server 'MaintenanceServerName' | Suspend-MailboxDatabaseCopy -ActivationOnly:$true
    
  5. Suspendez le nœud dans le cluster en exécutant la ligne de commande suivante :

    cluster.exe DAGFQDN node '**MaintenanceServerName**' /pause
    
  6. Empêchez les bases de données de tenter de basculer vers ce nœud en exécutant la commande EMS suivante :

    Set-MailboxServer -Identity 'MaintenanceServerName' -DatabaseCopyAutoActivationPolicy:BLOCKED
    

Supprimer le serveur du mode maintenance

Pour remettre le serveur en production, procédez comme suit :

  1. Reprenez le nœud dans le cluster. Pour ce faire, exécutez la ligne de commande suivante :

    cluster.exe DAGFQDN node 'MaintenanceServerName' /resume
    
  2. Supprimez le bloc sur l’activation automatique sur ce serveur en exécutant la commande EMS suivante :

    Set-MailboxServer -Identity 'MaintenanceServerName' -DatabaseCopyAutoActivationPolicy: Unrestricted
    
  3. Reprenez la réplication de la base de données de boîtes aux lettres sur le serveur en exécutant la commande EMS suivante :

    Get-MailboxDatabaseCopyStatus -Server 'MaintenanceServerName' | Resume-MailboxDatabaseCopy
    

État

Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « Produits concernés ».