Exchange Server

This mailbox database contains one or more mailboxes, mailbox plans, archive mailboxes, public folder mailboxes or arbitration mailboxes

Merhaba, Exchange Server üzerinde bir veritabanını silmeye çalışırken aşağıdaki hata ile karşılaşabilirsiniz:

Exchange Server üzerinde güvenilir ve sorunsuz bir şekilde Databases silmek için aşağıda ki adımları takip etmemiz yeterli olacaktır

Exchange Server Veritabanı Silerken Hata Veriyor

Exchange Server’da veritabanı silme işlemi gerçekleştirirken aağıdaki gibi bir hata ile karşılaşabilirsiniz;

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>.
Set-MailboxPlan MailboxPlan ID -Database Database ID.
+ CategoryInfo : InvalidOperation: (Database ID :DatabaseIdParameter) [Remove-MailboxDatabase], AssociatedUserMailboxExistException
+ FullyQualifiedErrorId : [Server= Server,RequestId= RequestId,TimeStamp= TimeStamp ] [FailureCategory=Cmdlet-AssociatedUserMailboxExistException] XXXXXXXX,Microsoft.Exchange.Management.SystemConfigurationTasks.RemoveMailboxDatabase
+ PSComputerName : Computer Name

Bir önceki makalemiz de Exchange Server Veritabanı Silerken hata alınmıştı ve ondan bahsetmiştik. Exchange Server: This mailbox database is associated with one or more active MailboxExport requests hatasının çözümü için makaleyi okuyabilirsiniz.

Exchange Server Veritabanı Silerken Hata veriyor

Exchange Server üzerinde bir veritabanını silmeye çalışırken yukarıdaki hata mesajını alıyorsanız, bu veritabanında hala aktif olarak kullanılan nesneler olduğunu gösterir. Bu durumda, veritabanını silmeden önce bu nesneleri devre dışı bırakmanız veya taşımanız gerekecektir.

Adım adım çözüm:

  1. Veritabanında hangi nesnelerin bulunduğunu kesin olarak listeleyin.
  2. Bu nesneleri taşıyın veya devre dışı bırakın.
  3. Move Request kuyruklarını temizleyin.
  4. Silme hâlen engelleniyorsa ADSIEdit ile manuel kaldırma yapın.

Exchange Server Veritabanı Silerken Hata Çözümünde Kullanılacak PowerShell Komutları

Aşağıdaki komutları kullanarak silinmek istenen veritabanı içinde hangi tür posta kutularının bulunduğunu tespit edebilirsiniz:

Get-Mailbox -Database "DB01"
Get-Mailbox -Database "DB01" -AuditLog
Get-Mailbox -Database "DB01" -Monitoring
Get-Mailbox -Database "DB01" -Arbitration
Get-Mailbox -Database "DB01" -Archive
Get-Mailbox -Database "DB01" -PublicFolder

Exchange Server Mailbox Listeleme ve Taşıma

Veritabanı silinmeden önce o veritabanında bulunan kullanıcı posta kutularını listeleyip başka bir veritabanına taşımanız gerekir:

Get-Mailbox -Database "DB01"

Ardından taşıma işlemini şu şekilde gerçekleştirebilirsiniz:

Get-Mailbox -Database "DB01" | New-MoveRequest -TargetDatabase "DB02" -BatchName "DB01toDB02"

Komut Açıklamaları:

  • Get-Mailbox -Database DB01: DB01 isimli veritabanındaki tüm kullanıcı posta kutularını listeler.
  • |: Pipe işareti, bir komutun çıktısını başka bir komuta aktarır.
  • New-MoveRequest -TargetDatabase DB02 -BatchName "DB01toDB02": Posta kutularını DB02 veritabanına taşıyan toplu işlem başlatır.

Exchange Server Audit Log Mailbox Listeleme

Audit posta kutuları, Exchange Server‘daki kullanıcı eylemlerinin kayıtlarını tutan özel posta hesapları olarak bilinmektedir. Bu posta kutuları, güvenlik denetimi ve uyumluluk gereklilikleri için kritik öneme sahip.

Get-Mailbox -Database "DB01" -AuditLog

Exchange Server’da Audit LOG Mailbox Taşıma

Exchange Server üzerinde bir veritabanı silmeden önce Audit LOG hesaplarını da başka bir veritabanına taşımamız gerekmektedir, bu işlem için aşağıdaki komutu kullanabiliriz.

Get-Mailbox -Database "DB01" -AuditLog | New-MoveRequest -TargetDatabase "DB02" -BatchName "AuditLOGMbx"

Exchange Server’da Arbitration Mailbox Listeleme

Arbitration Mailboxlar, Exchange Server içerisinde sistem işlemleri ve diğer yönetimsel fonksiyonlar için kullanılan posta kutularıdır.  

Veritabanı içerisinde bulunan Arbitration Mailbox listelemek ve kontrol etmek için:

Get-Mailbox -Database "DB01" -Arbitration

Exchange Server’da Arbitration Mailbox Taşıma

Arbitration Mailboxları bir veritabanından diğerine taşımak için aşağıdaki komut kullanılmaktadır:

Get-Mailbox -Database "DB01" -Arbitration | New-MoveRequest -TargetDatabase "DB02" -BatchName "ArbitrationMbx"

Bu komut, “DB01” veritabanındaki tüm Arbitration Mailboxları “DB02” veritabanına taşır.

Exchange Server’da Public Folder Mailbox Listeleme

Public Folder Mailboxlar, Exchange Server’da kullanıcıların paylaştığı kaynakları içeren özel posta kutularıdır.  

Bir veritabanındaki Public Folder Mailboxları listelemek için:

Get-Mailbox -Database "DB01" -PublicFolder

Bu komut, “DB01” veritabanındaki tüm Public Folder Mailboxları göstermektedir.

Exchange Server’da Public Folder Mailbox Taşıma

Public Folder Mailboxları bir veritabanından diğerine taşımak için:

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

Bu komut, “DB01″deki Public Folder Mailboxlarını “DB02″ye taşımak için kullanılmaktadır.

Exchange Server’da Monitoring Mailbox Listeleme

Monitoring Mailboxlar, Exchange Server‘da sistem sağlığı ve performansı hakkında veri toplayan özel posta kutularıdır.  

Exchange Server’da Monitoring Mailbox hesapları listelemek için:

Get-Mailbox -Database "DB01" -Monitoring

Exchange Server’da Monitoring Mailbox Taşıma

Monitoring Mailboxlar devre dışı bırakmak için:

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

Exchange Server’da Archive Mailbox Listeleme

Archive Mailbox’lar, kullanıcıların eski e-postalarını saklamak için kullanılan özel posta kutuları olarak bilinmektedir.  

Bir veritabanındaki Archive Mailbox’ları listelemek için:

Get-Mailbox -Database "DB01" -Archive

Exchange Server’da Archive Mailbox Taşıma

Archive Mailbox’ları bir veritabanından diğerine taşımak için:

Get-Mailbox -Database "DB01" -Archive | New-MoveRequest -TargetDatabase "DB02" -BatchName "ArchiveMbx"

Exchange Server’da Move Request Listeleme

Exchange Server‘da veritabanı silerken almış olduğumuz hata, aktif olan hesaplar veya silmek istediğimiz veritabanı üzerinde Move isteği varsa yaşanmaktadır.

Get-MoveRequestStatistics -MoveRequestQueue "DB01"

Bu komut Exchange Server’da “DB01” için MoveRequest listelemektedir.

Exchange Server’da Move Request Silme

Eğer Exchange Management Shell üzerinde Move Request istekleri geldiyse, aşağıdaki komut ile beraber Move isteklerini temizleyebiliriz:

Get-MoveRequest -ResultSize Unlimited | Where-Object {$_.Status -like "Completed"} | Remove-MoveRequest -Confirm:$false

Get-MoveRequest ile “Completed” kullanılır ise sadece tamamlanmış istekler silinmektedir.

Yukarıda yapılan işlemler sonrası Exchange Server üzerinde silmek istediğimiz veritabanını sorunsuz bir şekilde silebiliriz.  

Eğer bu işlemlerden sonra tekrar veritabanı silinmiyorsa **ADSI** üzerinden işlem yapmamız gerekmektedir.

ADSI Kullanarak Exchange Server Veritabanı Silme

ADSI Nedir?

ADSIEdit, Active Directory şemanızdaki nesneleri ve öznitelikleri yönetmek için kullanılan bir düzenleyicidir. Bu araç, Active Directory’nin daha derin yapılandırma ayarlarına müdahale etmenizi sağlar ve genellikle “Active Directory için bir kayıt defteri düzenleyicisi” olarak düşünülebilir.

Daha önceki makalemde ADSI Kullanarak Active Directory üzerinden Exchange Server silme işleminden detaylı bir şekilde bahsetmiştik. Active Directory üzerinden Excange Server Nasıl Silinir?

Exchange Server MBX Veritabanını ADSIEdit ile Silme Adımları

1. Domain Controllere Giriş Yapın
Etki alanı denetleyicinizde oturum açın.

2. ADSIEdit’i Açın
Başlat menüsünde arama çubuğuna aşağıdaki komutu yazıp çalıştırın:

ADSIEdit.msc

3. Bağlantı Kurulumu
Üst menüden Action > Connect to seçeneğini tıklayın. Açılan pencerede “Select a well-known naming context” kısmından Configuration öğesini seçin.

4. Veritabanı Konumuna Gitme
Sol taraftaki ağaç görünümünden aşağıdaki yolu izleyin:

CN=Configuration  
 └── DC=mydomain  
     └── DC=local  
         └── CN=Services  
             └── CN=Microsoft Exchange  
                 └── CN=mydomain  
                     └── CN=Administrative Groups  
                         └── CN=Exchange Administrative Group (FYDIBOHF23SPDLT)  
                             └── CN=Databases

5. Veritabanını Silme
Silmek istediğiniz veritabanını bulun, sağ tıklayın ve Delete seçeneğini tıklayın.

6. Replikasyon Durumunu Kontrol Etme
Replikasyonun tamamlandığından emin olmak için Komut İstemi’ni açın ve aşağıdaki komutu çalıştırın:

repadmin /replsummary

İlgili Exchange Server Makaleleri


Yukarıdaki adımları takip ederek Exchange Server ortamında silinemeyen veritabanını güvenli bir şekilde kaldırabilirsiniz. Ancak:

Bu işlemler doğrudan Active Directory nesneleri üzerinde değişiklik yapar. Yanlış bir adım, sistem kararsızlığına veya veri kaybına neden olabilir. İşlem öncesi yedek almanızı öneririm.

Sorularınızı yorumlarda paylaşabilirsiniz; birlikte çözüm bulabiliriz.

Cengiz YILMAZ

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu