Recipe 6.7. Mounting a DatabaseProblemYou need to mount a database so users can connect to it. SolutionUsing a graphical user interface
Using VBScript' This code mounts the specified mailbox database ' ------ SCRIPT CONFIGURATION ------ strServerName = "<SERVERNAME>" ' e.g., "BATMAN" strMDBName = "<databaseName>" ' e.g., "Mailbox Store (SpiffyDatabaseName)" ' ------ 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.Mount WScript.Echo "Database mounted." DiscussionYou must mount a database before users can connect to it, or before you attempt to back it up using the ESE backup APIs discussed in Chapter 11. When you mount a database, ESE performs a quick integrity check on the database header; after the database is mounted, if there are pending transaction logs, they will be played back. This can affect the speed of mounting the database (although, interestingly, dismounting a database always takes roughly the same amount of time, no matter how large it is). If Store.exe is able to mount the database, it will post event 9523 to the application event log. Using VBScriptThe code only works with mailbox databases because it uses the MailboxStoreDB object from CDOEXM. To make it work with public databases, you need to modify it to use the PublicStoreDB object instead. See AlsoRecipe 6.8 for dismounting databases |