6.8. Dismounting a Database

Problem

You need to dismount a database so you can perform maintenance or integrity checks on it.

Solution

Using a graphical user interface

  1. Launch the Exchange System Manager (Exchange System Manager.msc).

  2. In the left pane, expand the appropriate Administrative Groups container, and then expand the Servers container.

  3. Expand the server that contains the target database, then expand the parent SG.

  4. Right-click the target database and select Dismount Store.

  5. ESM will ask you to confirm the dismount operation; click Yes.

Using VBScript

' This code will dismount the selected mailbox database. 
' ------ SCRIPT CONFIGURATION ------
 strServerName = "<serverName>"    ' e.g., "BATMAN"
 strMDBName = "<databaseName>"        ' e.g., "Mailbox Store (BATMAN)"
 ' ------ END CONFIGURATION ---------

Set theServer = CreateObject("CDOEXM.ExchangeServer")
Set theMDB = CreateObject("CDOEXM.MailboxStoreDB")

theServer.DataSource.Open strServerName
arrSG = theServer.StorageGroups
theFirstSG = arrSG(0)

strURL = "LDAP://" & theServer.DirectoryServer & "/cn=" & strMDBName & "," & theFirstSG
theMDB.DataSource.Open strURL
theMDB.Dismount
WScript.Echo "Database dismounted."

Discussion

Dismounting a database is simple, but it's required before you copy the database files using anything other than the Exchange backup APIs. That's because the dismount process sets a flag in the database header that indicates that the database was cleanly dismounted; if that flag is not there, Exchange will refuse to mount the ...

Get Exchange Server Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.