More details on Standard DB limit size increase in Exchange 2003 SP2
Published Sep 14 2005 03:54 PM 12.7K Views

As we mentioned before here, Exchange 2003 SP2 brings us increased database size limits for Exchange 2003 Standard servers with SP2 installed. There is more here than meets the eye, however, and I wanted to cover what the changes are exactly and how to configure this new functionality.

 

I should note here that the changes to new database size limit functionality have to be done through Windows Registry and there is no UI in ESM at this time. Please be careful! Those registry keys are read during database (not service) startup and when each limit check task is run.

 

Additionally, registry parameters have to be set for each database targeted for size limit modification. The registry entries should be located under each database entry in the local server registry (please note that by default, registry entries mentioned below are NOT present; by creating them, you are overriding the “default” value set in code).  Accordingly, the registry keys must manually be re-set if the server has to be rebuilt using the /disasterecovery setup switch.

 

All registry settings discussed here would be created in the following registry location (example):

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<SERVER NAME>\Private-013e2e46-2cd7-4a8e-bfec-0e4652b94b00

 

NOTE: ALL of registry values mentioned below are in decimal, not hex!

 

The GUID above matches the value of the objectGUID attribute on the database’s Active Directory object.

 

Configurable Database Size Limit

 

Prior to Exchange 2003 SP2, there was no method to configure database size limits.  Exchange 2003 SP2 introduces a new feature that allows administrators to configure database size limits.  For Standard Edition, the default configured database size limit will be 18GB.  This is in contrast to the pre-SP2 hard coded limit of 16GB.   This size limit can be modified as shown later in this post.  Exchange 2003 SP2 increases the Standard Edition’s licensed database size limit from 16GB to 75GB.

 

The configurable database size limit for each database is available in both Standard and Enterprise editions. This feature enables an Administrator to set a protective database size limit in order to prevent unintentional database size growth. This limit is configurable up to the licensed database size limit (more details on this to follow).

 

Notable changes for Exchange 2003 SP2 size limits:

 

- Size check done against the database now uses logical database size.  Empty space in the database will not count against the configured database size limit, therefore no offline defrag will be required for recovery after running out of licensed database size.

 

- Limit checks, done at regular intervals, are now controlled by the store process instead of JET. The default time interval for this is 24 hours and is configurable via the registry (see below for details).

 

The following registry value controls the Configurable Database Size Limit:

 

Data Type

Name

Value

Default (in GB)

REG_DWORD

Database Size Limit in GB

Standard: 1-75
Enterprise: 1-8000

Standard: 18

Enterprise: 8000 (Unlimited)

 

Note: Some of you might ask – “Why 18GB as the default configurable limit, how did you get to 18GB?” We thought of customers that have possibly provisioned their storage with original 16GB limit in mind. Seeing that the default configurable limit is 18GB and the default warning buffer is 10%, that means that by default, 18GB – 10% (roughly 2GB) = there are warnings that start around 16GB. If the new default with Exchange 2003 SP2 install was 30GB for example, it is possible that some customers with disks provisioned for 16GB would run out of the hard drive space without any warnings.

 

Licensed Database Size Limit

 

Pre SP2, Exchange 2003 Standard Edition is limited to a single Storage Group with a single private and a single MAPI TLH public database. Each database in turn is limited to 16GB in total physical size. 16GB is considered too low of a limit to serve the current needs of Standard Edition customers.  As defined earlier, SP2 increases the licensed database size limit for Exchange 2003 Standard Edition from 16GB to 75GB; the default configured database size limit will be 18GB.  This is in contrast to the pre-SP2 hard coded limit of 16GB.

 

Exchange 2003 Version

Licensed Limit

Default Configured Limit

Notes

Standard Pre-SP2

16GB

Not Applicable

 

Standard SP2

75GB

18GB

 

Enterprise Pre-SP2

8000GB (unlimited)

Not Applicable

 

Enterprise SP2

8000GB (unlimited)

8000GB

Jet hardcoded limit is 8192GB = 8TB

 

Database Size Buffer Warning

 

By default, Exchange 2003 SP2 logs events when the database has grown to within 10% of the configured database size limit.  This threshold is configurable.  The smallest buffer is 1% of the configured size limit.

 

The following registry value controls the Database Size Buffer Warning:

 

Data Type

Name

Value

Default

REG_DWORD

Database Size Buffer in Percentage

1 - 100

10%

 

Timing of the Database Size Check

 

The database size check happens at 5am, every 24 hours by default.  This time can be changed via the following registry modifications.

 

If modified, next task is scheduled at the new Offset hour. Checks at Database Size Check Interval are skipped until new start time.

 

First database size check will not take the database offline if the size limit has been exceeded.  This also ensures at least 24 hour uptime after the limit is exceeded for default settings.

 

Data Type

Name

Valid Values

Default

Description

REG_DWORD

Database Size Check Start Time in Hours From Midnight

1 - 24

5 AM

Determines the hour the first Database Size check will take place after a database is mounted.

 

The following example is a screen capture for a database that has a database size limit of 75GB, a warning buffer of 15%, and a size check that kicks off at 3AM:

 

 

How It All Works together

 

At database mount, the store process will compare the physical database size against the “Configured Database Size Limit”.  Only if the physical size is within, or exceeds, the configured “Database Size Warning Buffer” then store will do a logical calculation of the database size. If it is below this warning buffer then there’s no need to calculate the free space because the logical size will never exceed the physical size.  In most cases the physical size is less than the warning threshold, so the size check should take under a millisecond to complete. If the free space calculation must be performed, then that may require a few seconds to parse through the database to generate the logical size calculation.

 

If the “Database Size Warning Buffer” is reached, or exceeded, then an error event will be logged in the Application event log. To get a better understanding of this concept see the following visual representation of limits & warning thresholds:

 

 

 

Behavior when the Configured Database Size Limit or Licensed Database Size Limit are reached

 

With Exchange 2003 SP2 (or later) the server will do the following when the Configurable (or default configured) Database Size Limit is reached:

 

- If the first check after a database mount finds the database size above the limit, the database will not be taken offline but an error event (ID 9689) will be logged in the Application event log.

 

- If it is the second check, an error event will be logged in the Application event log AND the database will be taken offline.

 

After the administrator re-mounts the database they will have 24 hours (or until the next database size check or 5AM (default) to take corrective actions.

 

Hope this was useful!

 

- Ethan McConnell, Michael Palermiti

 

19 Comments
Not applicable
Can you clarify on the "empty space" bit? Is that analogous to White Space? I.e. if a customer hits the new licensed limit (75GB) and then sets DIR to 0, deletes a bunch of mail, then runs online maintenance to purge those items, they can then re-mount the database as there would be a decent amount of white space?

Ben
Not applicable
Ben,

"Empty space" is analogous to "white space".

If the limit is reached by logical size, then deleting messages should resolve the issue. As long as it's done within 24 hours of the limit being reached (i.e., before the next database size check).

Please let me know if I can clarify further. I'm not sure what you meant by the "DIR to 0" comment.
Not applicable
I'm a little confused to this. Currently I have an Exchange 2003 SP1 server that is bumping around 15.5 GB no matter how much it seems I have my users delete. (The company grew and the size limit restriction was not changed. It has since been changed.)

When I upgrade from SP1 to SP2 at one point in the install do I make this registry change? Do I make the change and reboot the server to make sure things work correctly? If I have problems with this change and call support will I still be supported?

Thanks for all the great info I'm learning from this site.
Not applicable
Jonathan,

By default, after SP2 is installed, your Configured limit will be 18 GB but you will start getting warning events at around 16GB. If you want to change that, the configured limit should be increased.

However, if you check your online defrag events (should get them every night) - you will see how much "white space" there is in the DB now. If this is a large number (few GBs for example) - then your DB file might grow more than 16 or 18GB in size and things will still work even with default setting, because we now take into consideration only actually USED space rather than the space of the actual database file.

As was metnioned: "Size check done against the database now uses logical database size. Empty space in the database will not count against the configured database size limit..."
Not applicable
Thanks for the quick response to my message
Not applicable
Ethan,

Thanks for the response. You've confirmed what I thought. I just hasn't heard White Space referred to as empty space before.

I was referring to setting Deleted Items Retention to 0. If you've reached the limit and delete a bunch of mail, it isn't purged until the DIR window is past (of course you know that though). So you'd have to use the combination of setting Deleted Items Retention to 0, delete messages, then wait for Online maintenance to run to purge the items and create whitespace.

That sounds like a welcome addition. Just eliminating the Offline defrag step will be huge!

Ben
Not applicable
Other than one line here saying that Exchange 2003 SP2 will be supported as a VM in Virtual Server 2005, I have seen no reference anywhere else talking about this issue, certainly not on any Exchange-related page.

http://support.microsoft.com/Default.aspx?kbid=897614

Quote: "Microsoft Exchange Server. Exchange is currently not supported running within Microsoft Virtual Server. Exchange will be supported within Virtual Server starting with Exchange 2003 Service Pack 2 and subsequent releases."

Would you, being the General Manager, be able to officially comment on this? Some of us need to run Exchange 2003 on virtual hardware to consolidate servers. Thanks.
Not applicable
I would much appreciate a detailed information about the DSAccess functionality in SP2. And the effects in different topologies, where a forest has multi domains and Exchange and users are not in the same domains but Exchange sites contain GCs also from domains with no users etc...
Not applicable
Virtualy Yours,

When Exchange 2003 SP2 is released there will be a KB article published that will outline the support policy for Exchange 2003 SP2 support on Virtual Server 2005.

Regards,
Ethan McConnell
Not applicable
Any word on a release date? Working for a commercial real estate firm that emails tons of CAD drawings, I am constantly getting close to the 16Gb limit... and the next time I tell the CEO to clean his mailbox I will probably be shot (he would say firing is too merciful-- the same guy will not spend the money to get Enterprise though--- go figure)
Not applicable
Hi,
My organization uses the Microsoft Exchange Server 2003 Standard and the additional space for the Exchange store DB was desperately needed, so the SP2 limit size increase was received like a blessing.
However after the SP2 was installed I run the Microsoft Exchange Best Practices Analyser Tool and keep receiving a Critical Issue warning that Mailbox store exceeds 15 GB.
I followed the procedures described at the related article to change the default storage using the registry editor, checked and rechecked, the server restarted, etc., but the BPAnalyserTool keeps sending the same warning.
How can I be sure that the database limits were increased and are in use?
Can you help me?

Note: Version installed 6.5 (Build 7638.2: Service Pack 2)
This installation is an upgrade from Microsoft Exchange 2000 server and runs with Microsoft 2003 Server (also upgraded from Windows 2000 server)
Not applicable
Reinaldo,

Great question. I have confirmed that the Microsoft Exchange Best Practices Analyzer (EXBPA) tool will be updated shortly to reflect a check for the database size check modficiation for servers that have Exchange 2003 SP2.

As per your second question concerning how to verify if the database limits were increased: beyond confirming the registry values are set properly (remember, those values are in decimal, and the blog has been updated to show a sample screenshot of those entries), you can set the database warning buffer to warn at a lower threshold.

A test example would be to set the Database Limit to 20GB, but have the warning buffer percentage set to 50%. This way you should get a warning in the Application Event Log, at the next database size check interval, as long as the database has grown to 10GB or larger.
Not applicable
So, I create a DWord Value for "Database Size Limit in GB" and if I want to set the limit to 20gb, I put 20 in the value? And I also must make sure that it's decimal? Correct? I just dont want to mess something up....
Not applicable
meechp123,

You are correct - the value of "20" would be correct for 20GB. And yes, this value should be DECIMAL.

By the way, not sure if you noticed but we updated the post yesterday to say that all values are in decimal plus there is a screenshot now of sample registry values. Hope that helps!
Not applicable
Thanx for your clarification how to get a bigger database. I also learned that this larger DB size is valid for the Public Store. The most important question for me is: Do I have to set up the registry keys for the public store seperatly (meaning putting them in under HKLMSYSTEM CurrentControlSetServicesMSExchangeIS<SERVER NAME>Public-<HexCode>) or is it enough to set them up like described above (meaning: keys in private area)?
Not applicable
Does the increase in DB database size work with the version of Exchange 2003 with SP2 on Small Business Server 2003?
Not applicable

Im heutigen Webcast hatten wir anscheinend viele Teilnehmer, die zum ersten Mal einen Webcast angeschaut...
Not applicable
Not applicable
Hello,
I have exchange 2003 std SP2 installed. My database size limit is set to 70GB. Presently the size of the database is at 66GB.

What all steps shall I do so that I get the database size down to around 55GB.

Thanks
Ameet
Version history
Last update:
‎Jul 01 2019 03:08 PM
Updated by: