Databases are containers for information. Microsoft Exchange Server 2007 uses two types of databases: mailbox databases, which store a server's mailboxes, and public folder databases, which store a server's public folders. The information in a particular database isn't exclusive to either mailboxes or public folders-Exchange Server maintains related information within databases as well. Within mailbox databases, you'll find information about Exchange logons and mailbox usage. Within public folder databases, you'll find information about Exchange logons, public folder instances, and replication. Mailbox and public folder databases also maintain information about full-text indexing. Understanding how to manage databases and the information they contain is the subject of this chapter.
Each Mailbox server installed in the organization has an information store. The information store can hold multiple storage groups. Although you can create multiple mail-box databases within each storage group, you should do so only if you do not plan to use the Local Continuous Replication (LCR) copy feature discussed in Chapter 11, "Managing Microsoft Exchange Server 2007 Data and Storage Groups." Each mailbox database has a database file associated with it. This file is stored in a location that you specify when you create or modify the mailbox database.
Mailboxes are the delivery location for messages coming into an organization. They contain messages, message attachments, and other types of information that the user might have placed in the mailbox. Mailboxes, in turn, are stored in mailbox databases.
A default mailbox database is created on each Mailbox server in the organization. The default mailbox database is meant to be a starting point, and most Exchange organizations can benefit from having additional mailbox databases, especially as the number of users in the organization grows. There are many reasons for creating additional mail-box databases, but the key reasons are the following:
To provide a smaller unit of recovery in case of failure. Each mailbox database has its own database, which is backed up as part of a storage group. During recovery, you can restore the entire storage group or individual databases within the storage group. By restoring only a specific mailbox database, you reduce the impact on the user community.
To impose a different set of mailbox rules on different sets of users. Each additional mailbox database can have its own property settings for maintenance, storage limits, deleted item retention, indexing, security, and policies. By placing a user's mailbox in one mailbox database instead of another, you can apply a different set of rules.
To optimize Exchange performance. Each mailbox database can have its own storage location. By placing the mailbox databases on different drives, you can improve the performance of Exchange Server 2007.
To create separate mailbox databases for different purposes. For example, you might want to create a mailbox database called General In-Out to handle all general-purpose mailboxes being used throughout the organization. These general-purpose mailboxes could be set up for Postmaster, Webmaster, Technical Support, Customer Support, and other key functions.
When you create a mailbox database, you specify the following information:
What the name of the database should be
Where the database file is to be located
When maintenance on the database should occur
Any limitations on mailbox size
Whether deleted items and mailboxes should be retained
Each mailbox database has a default Offline Address Book (OAB) and a default public folder database associated with it. Microsoft Outlook 2007 clients access the default OAB and default public folder hierarchy on your organization's Client Access servers using Hypertext Transfer Protocol (HTTP). Outlook 2003 clients access the OAB as part of the public folder data using Messaging Application Programming Interface (MAPI).
You can create mailbox databases using the New Mailbox Database wizard. If the storage group in which you create the database has LCR enabled, the database will have this feature enabled as well, providing it is the only database in the storage group. The default database file path and default copy file path are set automatically to be the same as those used for system files and backup system files, respectively.
To create a mailbox database, complete the following steps:
In Exchange Management Console, expand the Server Configuration node, and then select the related Mailbox node.
In the details pane, select the Mailbox server you want to manage. You should see a list of storage groups that are available on the server.
Right-click the storage group you want to change, and then select New Mailbox Database from the shortcut menu. You should now see the New Mailbox Database as shown in Figure 12-1.
Figure 12-1: Enter a name for the new mailbox database.
In the Mailbox Database Name text box, type a name for the mailbox database.
Click Browse to the right of the Database File Path text box. Use the Exchange Database dialog box to select a new location for the database file, and then click Save.
Note | The folder location must already exist. If the folder location doesn't exist, you'll need to create it in Windows Explorer first, and then set the location. |
If you have enabled LCR for the storage group, set the backup locations for the database file using the Browse button provided. Click Browse, select a backup location, and then click OK.
If you want to mount the database so that it can be used, select the Mount This Database check box.
Click New to create the mailbox database, and then click Finish. You can now modify the properties of the mailbox database as necessary.
In Exchange Management Shell, you can create mailbox databases using the new-MailboxDatabase cmdlet. Sample 12-1 provides the syntax and usage.
Sample 12-1: new-MailboxDatabase cmdlet syntax and usage
Syntax new-MailboxDatabase -Name 'Name' -StorageGroup 'StorageGroupID' -CopyEdbFilePath 'FilePath' -EdbFilePath 'FilePath' -HasLocalCopy Switch [ -OfflineAddressBook 'OABIdentity'] [ -PublicFolderDatabase 'PublicFolderIdentity'] Usage new-MailboxDatabase -Name 'Accounting Database' -StorageGroup 'CORPSVR127\First Storage Group' -EdbFilePath 'K:\Databases\First Storage Group\AccountingMail.edb'
Note | Note that you use a separate cmdlet to mount the database. See "Mounting and Dismounting Databases" for details. |
Mailbox databases have different types of information associated with them, including a default public folder database and a default OAB. You set these options for mailbox databases using the Client Settings tab of the related Properties dialog box. To view this dialog box and update the messaging options, follow these steps:
In Exchange Management Console, right-click the mailbox database, and then select Properties.
In the Properties dialog box, select the Client Settings tab.
Note | If you can't update the text boxes on the Client Settings tab, it means that a policy has been applied to the mailbox database. You must directly edit or remove the policy and then make the necessary changes. |
The Default Public Folder Database text box shows the full path to the public folder database that the mailbox database is using. If you've created public folder databases, you might want to change the default public folder database as well. In this case, click Browse, select the public folder database that points to the public folder tree that you want to use, and then click OK.
The Offline Address Book text box shows the OAB for the mailbox database. OABs contain information regarding mail-enabled users, contacts, and groups in the organization, and are used when users aren't connected to the network. If you've created additional OABs beyond the global default, you can specify one of these additional OABs as the default for the mailbox database. Click Browse, select the OAB you want to use, and then click OK. Click OK again to apply the changes.
In Exchange Management Shell, you can set the default public folder database and default OAB for mailbox databases using the set-MailboxDatabase cmdlet. Sample 12-2 provides the syntax and usage.
Sample 12-2: Using set-MailboxDatabase to set defaults
Syntax set-MailboxDatabase -Identity 'MailboxDatabaseIdentity' [ -OfflineAddressBook 'OABIdentity'] [ -PublicFolderDatabase 'PublicFolderIdentity'] Usage set-MailboxDatabase -Identity 'CORPSVR127\First Storage Group\Accounting DB' -OfflineAddressBook '\US Corporate' -PublicFolderDatabase 'CORPSVR127\First Storage Group\PublicFolderDB'
Setting Mailbox Database Limits and Deletion Retention
Mailbox database limits are designed to control the amount of information that users can store in their mailboxes. Users who exceed the designated limits might receive warning messages and might be subject to certain restrictions, such as the inability to send messages.
Deleted item retention is designed to ensure that messages and mailboxes that might be needed in the future aren't permanently deleted. If retention is turned on, you can retain deleted messages and mailboxes for a specified period before they are permanently deleted and are nonrecoverable.
An average retention period for messages is about 14 days. The minimum retention period for mailboxes should be seven days. In most cases, you'll want deleted messages to be maintained for five to seven days, and deleted mailboxes to be maintained for three to four weeks. A five-to seven-day interval is used for messages because users usually realize within a few days that they shouldn't have deleted a message. A three-to four-week interval is used for mailboxes because several weeks can (and often do) pass before users realize that they need a deleted mailbox. To understand why, consider the following scenario.
Sally leaves the company. A coworker gives permission to delete Sally's user account and mailbox. Three weeks later, Sally's boss realizes that she was the only person who received and archived the monthly reports e-mailed from corporate headquarters. The only way to get reports for previous years is to recover Sally's mailbox.
To view or set limits and deletion retention for a mailbox database, follow these steps:
In Exchange Management Console, right-click the mailbox database, and then select Properties.
In the Properties dialog box, on the Limits tab (shown in Figure 12-2), use the following options to set storage limits and deleted item retention:
Figure 12-2: Use the Limits tab to set storage limits and deleted item retention for individual mailboxes and entire mailbox databases.
q Issue Warning At (KB) Sets the size limit, in kilobytes, that a mailbox can reach before Exchange Server issues a warning to the user. The warning tells the user to clear out the mailbox.
q Prohibit Send At (KB) Sets the size limit, in kilobytes, that a mailbox can reach before the user is prohibited from sending any new mail. The restriction ends when the user clears out the mailbox and the total mailbox size is under the limit.
q Prohibit Send And Receive At (KB) Sets the size limit, in kilobytes, that a mailbox can reach before the user is prohibited from sending and receiving mail. The restriction ends when the user clears out the mailbox and the total mailbox size is under the limit.
Caution | Caution Prohibiting send and receive might cause users to lose e-mail. When a user sends a message to a user who is prohibited from receiving messages, a nondelivery report (NDR) is generated and delivered to the sender. The recipient never sees the e-mail. Because of this, you should prohibit send and receive only in very rare circumstances. |
q Warning Message Interval Sets the interval for sending warning messages to users whose mailboxes exceed the designated limits. The default interval is daily at 1 AM.
q Keep Deleted Items For (Days) Sets the number of days to retain deleted items. An average retention period is 14 days. If you set the retention period to 0, deleted messages aren't retained and you can't recover them.
q Keep Deleted Mailboxes For (Days) Sets the number of days to retain deleted mailboxes. The default setting is 30 days. You'll want to keep most deleted mailboxes for at least seven days to allow the administrators to extract any data that might be needed. If you set the retention period to 0, deleted mailboxes aren't retained and you can't recover them.
q Do Not Permanently Delete Mailboxes And Items Until The Database Has Been Backed Up Ensures that deleted mailboxes and items are archived into at least one backup set before they are removed.
Click OK to save the settings.
In Exchange Management Shell, you can set limits for mailbox databases using the set-MailboxDatabase cmdlet. Sample 12-3 provides the syntax and usage.
Note | Use the following format for single-event schedules: Weekday.Hour:Minute [AM/PM] or Daily.Hour:Minute [AM/PM]. You can enter names of weekdays in full or abbreviated. You can also use a 24-hour clock, and if you do this, you must omit the AM/PM designator. Example: Sun.1:00 AM. |
Sample 12-3: Using the set-MailboxDatabase cmdlet to set limits
Syntax set-MailboxDatabase -Identity 'MailboxDatabaseIdentity' [-IssueWarningQuota LimitKB] [-ItemRetention NumberDays] [-MailboxRetention NumberDays] [-ProhibitSendQuota LimitKB] [-ProhibitSendReceiveQuota LimitKB] [-QuotaNotificationSchedule 'Schedule'] [-RetainDeletedItemsUntilBackup Switch] Usage set-MailboxDatabase -Identity 'CORPSVR127\First Storage Group\Accounting DB' -IssueWarningQuota 1991680 -ItemRetention 14 -MailboxRetention 30 -ProhibitSendQuota 2097152 -ProhibitSendReceiveQuota 2411520 -QuotaNotificationSchedule 'Daily.1:00.AM.' -RetainDeletedItemsUntilBackup $true