Exchange Server Database Silme Sorunu

By | 20 Ekim 2021

Merhaba, bu yazımızda Exchange Server database silme sorunundan bahsedeceğim.

Exchange Server’da bazı durumlarda gui üzerinden tüm mailboxlar taşınsa da database silme işlemi başarılı olamayabilir. Bunun birkaç sebebi olabilir. Database silme işlemi sırasında aşağıdaki gibi bir hata alıyorsanız yazının devamındaki işlemleri yapmanız gerekmektedir.

dberror

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 gibi durumlarda Exchange Management Shell üzerinden birkaç kontrol yapmamız gerekiyor:

İlk olarak aşağıdaki komutu Exchange Management Shell üzerinden çalıştırıp database üzerinde herhangi bir mailbox olup olmadığını listeliyoruz:

Get-Mailbox -Database “DBName”

Herhangi bir toplantı odası ya da diğer mailboxlar çıkan değerde gözüküyorsa aşağıdaki komutla yeni bir database’e bu database üzerindeki mailboxları koplayamamız gerekiyor.

Get-Mailbox -Database “DBName” | New-MoveRequest -TargetDatabase “NewDBName”

Taşıma işlemi bittikten sonra tekrar ilk komutu çalıştırıp database üzerinde mailbox kalıp kalmadığını test etmemiz gerekiyor.

Komut çıktısında herhangi bir değer çıkmıyor ve siz hala database’i silemiyorsanız sırasıyla aşağıdaki komutları da çalıştırmanız gerekiyor. DB üzerinde AuditLog, Arbitration, PublicFolder, Archive, Monitoring vb gibi mailboxlar kalmış olabilir.

Get-Mailbox -Database “DBName” -Archive
Get-Mailbox -Database “DBName” -Arbitration
Get-Mailbox -Database “DBName” -PublicFolder
Get-Mailbox -Database “DBName” -Monitoring
Get-Mailbox -Database “DBName” -Auditlog

Bu komutlardan hangisinde bir çıktı değeri görürseniz onları da yeni oluşturduğunuz database’e taşımanız gerekiyor. Mesela Arbitration mailbox’ı olduğunu düşünelim. aşağıdaki komutla Arbitration mailboxlarını yeni oluşturduğunuz database’e taşıyabilirsiniz:

Get-Mailbox -Database “DBName” -Arbitration | New-MoveRequest -TargetDatabase “NewDBName”

Bu taşımalar sonrasında eski database’inizi başarılı bir şekilde silebilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.