Rebalance Databases Exchange Server DAG

DAG üyesi olan Exchange sunucularınızda yaptığınız bakım veya plansız bir kesinti sonrası Mailbox sunucularınızda bulunan Database’lerin farklı veya tek sunucu üzerinde çalışıyor olabilir.
Eşit bir dağıtım oluşturmak için Microsoft, Exchange Server kurulumu ile birlikte RedistributeActivateDatabases.ps1 scriptini Exchange Server dizini içerisinde dağıtmaktadır.
Bu Scripte $Exscripts dizininde bulabilirsiniz.
Öncelikle database’ler üzerinde sunucu değişikliği yapmadan önce ilgili Scripti kullanarak detaylı bir database dağıtım raporu oluşturabiliriz. Kullanmamız gereken komut seti aşağıdaki gibidir. Bu set ile birlikte veritabanlarımızın şuan hangi sunucularda çalıştığının detaylı bir raporunu alabiliriz.
.\RedistributeActiveDatabases.ps1 -DagName DAG01 -ShowDatabase DistributionByServer | ft

Daha sonra veritabanlarını yeniden DAG üzerinden dengelemek isterseniz, RedistributeActivateDatabases scriptini aşağıdaki parametre ile tekrar çalıştırabilirsiniz.
.\RedistributeActiveDatabases.ps1 –DagName DAG01 –BalanceDbsByActivationPreference –confirm:$false

Bu şekilde DAG üzerinde bulunan her veritabanı artık tercih edilen sunucu üzerinde çalışacak şekilde yapılandırılacaktır.
RedistributeActiveDatabases.ps1 Scripti ile kullanılan diğer parametreler ise aşağıdaki gibidir;
- DagName – Balance yapmak istediğiniz DAG’nin adını belirtmektedir. Bu parametre atlanırsa, yerel sunucunun üyesi olduğu DAG kullanılır.
- BalanceDbsByActivationPreference – Komut dosyasının, Active Directory sitesine bakılmaksızın veritabanlarını en çok tercih edilen kopyaya taşıması gerektiğini belirtir.
- BalanceDbsBySiteAndActivationPreference – Komut dosyasının, her Active Directory sitesindeki etkin veritabanlarını dengelemeye çalışırken etkin veritabanlarını en çok tercih edilen kopyaya taşımaya çalışması gerektiğini belirtir.
- ShowFinalDatabaseDistribution – Yeniden dağıtım tamamlandıktan sonra geçerli veritabanı dağıtımının raporunun görüntüleneceğini belirtir.
- AllowedDeviationFromMeanPercent – Siteler arasında etkin veritabanlarının izin verilen varyasyonunu belirtir ve yüzde olarak ifade edilir. Varsayılan değer %20’dir. Örneğin, üç site arasında dağıtılmış 99 veritabanı varsa, ideal dağıtım her sitede 33 veritabanı olacaktır. İzin verilen sapma %20 ise, komut dosyası veritabanlarını dengelemeye çalışır, böylece her site bu sayıdan %10’dan fazla veya daha az olmayacaktır. 33’ün% 10’u, 4’e yuvarlanan 3.3’tür. Bu nedenle, komut dosyası her sitede 29 ila 37 veritabanı bulundurmaya çalışır.
- ShowDatabaseCurrentActives – Komut dosyasının, veritabanının nasıl taşındığını ve en çok tercih edilen kopyasında şu anda etkin olup olmadığını ayrıntılarıyla açıklayan her veritabanı için bir rapor oluşturduğunu belirtir.
- ShowDatabaseDistributionByServer – Komut dosyasının, veritabanı dağıtımını gösteren her sunucu için bir rapor oluşturduğunu belirtir.
- RunOnlyOnPAM – Komut dosyasının yalnızca şu anda PAM rolüne sahip olan DAG üyesinde çalıştığını belirtir. Komut dosyası, PAM’den çalıştırıldığını doğrular. PAM’den çalıştırılmıyorsa, komut dosyası çıkar.
- LogEvents – Komut dosyasının, eylemlerin özetini içeren bir olayı (MsExchangeRepl olayı 4115) günlüğe kaydettiğini belirtir.
- IncludeNonReplicatedDatabases – Etkin veritabanlarının nasıl yeniden dağıtılacağını belirlerken komut dosyasının çoğaltılmamış veritabanlarını (kopyaları olmayan veritabanları) içermesi gerektiğini belirtir. Çoğaltılmamış veritabanları taşınamasa da, çoğaltılan veritabanlarının dağılımını etkileyebilir.
- Confirm– Confirm parametresi, bu komut dosyası çalıştırıldığında varsayılan olarak görünen onay istemini bastırmak için kullanılabilir. Onay istemini bastırmak için -Confirm:$False sözdizimini kullanılması gerekmektedir. Sözdizimine iki nokta üst üste koymanız gerekir. Çok sayıda Posta Kutusu veritabanınız varsa, bu ilginç bir seçenektir, bunu ayarlamazsanız DAG’deki tüm hareketleri her seferinde onaylamanız gerekmektedir.