Exchange Server 2010'da StartDagServerMaintenance.ps1 betiği çalıştırma hatası

Özgün KB numarası:   3058960

Belirtiler

Betiği çalıştırarak, veritabanı kullanılabilirlik grubunda (DAG) olan bir sunucuyu bakım moduna yapılandırmaya StartDagServerMaintenance.ps1 çalışırsınız. Ancak betik başarısız olur ve aşağıdaki hata iletisini alırsınız:

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

Ayrıca, veritabanında Get-MailboxDatabaseCopyStatus cmdlet'i çalıştırabilirsiniz, veritabanı DisconnectedAndHealthy durumunu beklendiği gibi bildirmez.

Geçici Çözüm

Bu sorunu gidermek için, aşağıdaki yöntemleri kullanarak bu sunucudan gelen veritabanlarını el ile yükleyebilirsiniz.

Sunucuyu bakım moduna alın

  1. Çoğaltılmış her veritabanının etiketsiz en az bir kopyasının daha iyi olduğunu doğrulayın. Bunu yapmak için, aşağıdaki Yönetim Exchange (EMS) komutunu çalıştırın:

    Get-MailboxDatabase -Server 'MaintenanceServerName' | Get-MailboxDatabaseCopyStatus
    
  2. Aşağıdaki EMS komutunu çalıştırarak tüm veritabanlarını bu sunucudan çıkarabilirsiniz:

    Move-ActiveMailboxDatabase -Server 'MaintenanceServerName'
    

    Not

    Hedef sunucu belirtilmez ve bu da etkinleştirme için bir sonraki en iyi kopyanın otomatik olarak seçilecek anlamına gelir.

  3. Küme çekirdek kaynaklarını DAG'daki başka bir düğüme taşıma. Bunu yapmak için komut isteminde aşağıdaki komutu çalıştırın:

    cluster.exe DAGFQDN group "ClusterGroup" /moveto: 'MaintenanceServerName'
    
  4. Aşağıdaki EMS komutunu çalıştırarak sunucuya tüm kopyaları askıya alın:

    Get-MailboxDatabaseCopyStatus -Server 'MaintenanceServerName' | Suspend-MailboxDatabaseCopy -ActivationOnly:$true
    
  5. Aşağıdaki komut çizgilerini çalıştırarak kümedeki düğümü duraklatın:

    cluster.exe DAGFQDN node '**MaintenanceServerName**' /pause
    
  6. Aşağıdaki EMS komutunu çalıştırarak veritabanlarının bu düğüme yük devretmeyi engelleme:

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

Sunucuyu bakım modundan kaldırma

Sunucuyu üretime geri koymak için şu adımları izleyin:

  1. Kümedeki düğümü sürdür. Bunu yapmak için aşağıdaki komut satırına çalıştırın:

    cluster.exe DAGFQDN node 'MaintenanceServerName' /resume
    
  2. Bu sunucuda otomatik etkinleştirme engellemeyi kaldırmak için aşağıdaki EMS komutunu çalıştırabilirsiniz:

    Set-MailboxServer -Identity 'MaintenanceServerName' -DatabaseCopyAutoActivationPolicy: Unrestricted
    
  3. Aşağıdaki EMS komutunu çalıştırarak sunucuda posta kutusu veritabanı çoğaltmayı sürdürün:

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

Durum

Microsoft, "Geçerli olduğu" bölümünde listelenen Microsoft ürünlerinde bunun bir sorun olduğunu onaylar.