Exchange Server

“This mailbox database contains one or more mailboxes, mailbox plans, archive mailboxes, public folder mailboxes or arbitration mailboxes” Hatası Nasıl Çözülür?

Merhaba, Exchange Server üzerinde bir veritabanını silmek istediğiniz zaman aşağıda ki gibi bir hata alabilirsiniz.

“error This mailbox database contains one or more mailboxes, mailbox plans, archive mailboxes, public folder mailboxes or arbitration mailboxes, Audit mailboxes. To get a list of all mailboxes in this database, run the command Get-Mailbox -Database <Database ID>. To get a list of all mailbox plans in this database, run the command Get-MailboxPlan. To get a list of archive mailboxes in this database, run the command Get-Mailbox -Database <Database ID> -Archive. To get a list of all public folder mailboxes in this database, run the command Get-Mailbox -Database <Database ID> -PublicFolder. To get a list of all arbitration mailboxes in this database, run the command Get-Mailbox -Database <Database ID> -Arbitration. To get a list of all Audit mailboxes in this database, run the command Get-Mailbox -Database <Database ID> -AuditLog. To disable a non-arbitration mailbox so that you can delete the mailbox database, run the command Disable-Mailbox <Mailbox ID>. To disable an archive mailbox so you can delete the mailbox database, run the command Disable-Mailbox <Mailbox ID> -Archive. To disable a public folder mailbox so that you can delete the mailbox database, run the command Disable-Mailbox <Mailbox ID> -PublicFolder. To disable a Audit mailbox so that you can delete the mailbox database, run the command Get-Mailbox -AuditLog | Disable-Mailbox. Arbitration mailboxes should be moved to another server; to do this, run the command New-MoveRequest <parameters>. If this is the last server in the organization, run the command Disable-Mailbox <Mailbox ID> -Arbitration -DisableLastArbitrationMailboxAllowed to disable the arbitration mailbox. Mailbox plans should be moved to another server; to do this, run the command Set-MailboxPlan <MailboxPlan ID> -Database <Database ID>”

Bu paylaşmış olduğum hatayı ECP üzerinden alırsanız EMS üzerinden de alabiliyorsunuz. Bu veritabanı üzerinde aktif MBX olmadığından emin olmalısınız, almış olduğunuz bu hata aktif olarak çalışan bir MBX olduğundan kaynaklanmaktadır.

Not: Bir MBX’ı başka bir veritabanına taşımadan önce EMS üzerinden –ViewEntireForest parametresini içeren Set-ADServerSettings cmdlet’ini çalıştırmalısınız. Bu, tüm ormandaki nesneleri görüntülemenizi sağlayacaktıır.

Set-ADServerSettings -ViewEntireForest $true

Mevcut Veritabanlarınızı Denetleme İşlemi

MBX’ları hangi veritabanına taşıyacağınızı bilmiyor musunuz? O zaman öncesinde Veritabanlarınızı listelemeniz gerekiyor.Get-MailboxDatabase 

Get-MailboxDatabase -Status | Sort Name | Format-Table Name, Server, Mounted

Name Server    Mounted
---- ------    -------
Test-DB01-DAG EX01-2016    True
Test-DB02-DAG EX01-2019    True

MBX’leri Başka Bir Veritabanına Taşıma İşlemi

Örneğimizde, DB01 posta kutusu veritabanını sileceğiz. Bunu yapmadan önce, posta kutularını taşımamız gerekir. Tüm posta kutularını DB02 posta kutusu veritabanına taşıyacağız. Silme işlemini gerçekleştireceğimiz veritabanın da çalışmaya devam eden MBX’leri bulmak için aşağıda ki komutu çalıştırmanız yeterli olacaktır.

Get-Mailbox -Database "Test-DB01-DAG"

Move all mailboxes from one database to anotherNew-MoveRequest

[PS] C:\>Get-Mailbox -Database "Test-DB01-DAG" -ResultSize Unlimited | New-MoveRequest -TargetDatabase "Test-DB02-DAG"

MBX Planı

Posta kutusu planı, On-premise Exchange ortamları için uygun değildir. Sadece Exchange Online üzerinde kullanılmaktadır, hata üzerinde ki Mailbox Plan uyarısını On-Premise ortamlarınız da görmezden gelebilirsiniz.

Posta kutusu planı, Exchange Online‘da posta kutusu özelliklerini otomatik olarak yapılandıran bir şablon olarak gelmekte. Posta kutusu planları Office 365 lisans türlerine karşılık geliyor. Yeni bir kullanıcıya lisans atadığınızda, oluşturulan yeni posta kutusundaki ayarları yapılandırmak için ilgili posta kutusu planı kullanılıyor. Varolan bir kullanıcıya atanan lisansı değiştirirseniz, yeni lisansla ilişkilendirilmiş posta kutusu planındaki ayarlar kullanıcının varolan posta kutusuna uygulanmaktadır.

Archive Mailbox

Mevcut veritabanında kullanılan Arşiv posta kutularınızı listeleyeceğiz.

Get-Mailbox -Database "Test-DB01-DAG" -Archive

Taşımanız gereken arşiv mailbox ları listeledikten sonra aşağıda ki komut ile yeni veritabanına taşıma işlemini başlatabiliriz.

Get-Mailbox -Database "Test-DB01-DAG" -Archive | New-MoveRequest -TargetDatabase "Test-DB02-DAG"

Public Folder Mailbox Taşıma İşlemi

Veritabanında bulunan Public Folder posta kutularını listeleyeceğiz.

Get-Mailbox -Database "Test-DB01-DAG" -PublicFolder

Taşımanız gereken Public Folder mailbox ları listeledikten sonra aşağıda ki komut ile yeni veritabanına taşıma işlemini başlatabiliriz.

Get-Mailbox -Database "Test-DB01-DAG" -PublicFolder | New-MoveRequest -TargetDatabase "Test-DB02-DAG"

Arbitration mailbox

Veritabanı üzerinde bulunan Arbitration Mailbox’ları listeleyeceğiz.

Get-Mailbox -Database "Test-DB01-DAG" -Arbitration

Taşımanız gereken Arbitration mailbox ları listeledikten sonra aşağıda ki komut ile yeni veritabanına taşıma işlemini başlatabiliriz.

Get-Mailbox -Database "Test-DB01-DAG" -Arbitration | New-MoveRequest -TargetDatabase "Test-DB02-DAG"

Audit Log Posta Kutusu

Veritabanı üzerinde bulunan Audit Log Mailbox’ları listeleyeceğiz.

Get-Mailbox -Database "Test-DB01-DAG" -AuditLog

Taşımanız gereken Audit Log mailbox ları listeledikten sonra aşağıda ki komut ile yeni veritabanına taşıma işlemini başlatabiliriz.

Get-Mailbox -Database "Test-DB01-DAG" -AuditLog | New-MoveRequest -TargetDatabase "Test-DB01-DAG"

Monitoring Posta Kutusu

Microsoft, veritabanındaki izleme posta kutularını bulmak ve taşımak için hata günlüğü yazmamıştır. En iyi uygulama, izleme posta kutularını posta kutusu veritabanları arasında taşımamaktır. Deneyimlere göre, izleme posta kutusunu bulmak ve devre dışı bırakmak en iyisidir. Bunu yapmazsanız, veritabanı sildikten sonra bir uyarı alırsınız. Ayrıca, sistem durumu posta kutuları bozuk durumda olacaktır. İlerleyen günler de Monitoring mailbox için referans bir yazı paylaşacağım, bu konuyu orda daha detaylı bir şekilde ele alacağız.

Veritabanı üzerinde bulunan Monitoring Mailbox’ları listeleyeceğiz.

Get-Mailbox -Database "Test-DB01-DAG" -Monitoring | Format-Table Name, DisplayName, Database, Servername

Monitor Posta kutularını devre dışı bırakmak için aşağıda ki komutu kullanmanız yeterli olacaktır.

Get-Mailbox -Database "Test-DB01-DAG" -Monitoring | Disable-Mailbox -Confirm:$false

Tüm bu adımları başarılı şekilde gerçekleştirdikten sonra tüm posta kutularının taşındığının doğrulamanız gerekmektedir, sonrasın da ise tüm taşıma isteklerini silmeniz lazım. İstekleri silmediğiniz sürece ilgili veritabanını silerken hata almaya devam edeceksiniz. Silmek için aşağıda ki yazıyı takip edebilirsiniz.

“This mailbox database is associated with one or more active mailbox export requests.” Hatası Nasıl Çözülür? – Cengiz YILMAZ – IT Blog

Taşıma doğrulamasını gerçekleştirmek için ise aşağıda ki komutu kullanabilirsiniz.

Get-MoveRequestStatistics -MoveRequestQueue "Test-DB02-DAG"

Bu adımlardan sonra veritabanını ECP üzerinden silebilirsiniz, ECP üzerinden veritabanını kaldırdıktan sonra disk üzerinden manuel şekilde ortamdan kaldırabilirsiniz.

Cengiz YILMAZ

5 Yıldır IT Sektörü içerisindeyim, Microsoft ürünleri ve Sanallaştırma teknoloji ile ilgilenmekteyim. 2021 yılı içerisinde VMware tarafından vExpert ve vExpert Pro olarak seçildim. Cengiz YILMAZ | vExpert, MCT |

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.

Başa dön tuşu