Exchange 2013 Database size limit?

Last week we had a issue with our exchange environment where we were unable to send and receive email both internally and externally.

When I ran this command
Get-MailboxDatabase -Status | Select-Object Name,@{N="DatabaseSize GB";E={"$([math]::round($_.DatabaseSize.Tobytes() /1Gb, 2)) GB"}},AvailableNewMailboxSpace | Sort-Object Name | fl

It returned a value that looked like this:
Name                     : Mailbox Database ######
DatabaseSize GB          : 541 GB
AvailableNewMailboxSpace : 84 MB (84000000 bytes)


I checked the drive that exchange resides on and found it to have plenty of free space (365GB).


From all of the research I had found everyone said that exchange will just continue to grow and there is not a (soft limit) in place for Exchange 2013.  I found one anyway and gave it a try
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<Server Name>\Private-<database GUID>
I then added a DWORD key for Database Size Limit in GB setting the value to 700.

After restarting all exchange services I ran the command again and it didn't show anything really different other than the MB remaining continued to dwindle.

So, I figured this must be since the actual "size" didn't change but now it could grow.  Well, when we hit 0MB remaining the DB did grow slightly and the countdown begain again somewhere in the upper double digits.

This continued throughout the day.  I could get mail flowing again with a restart of services or rebuilding the transport QUE folder but it wouldn't sustain.  Eventually, out of ideas I found some mailboxes that were old and could be purged out and I recovered about 20GB of "Available New Mailbox Space".  Then with a restart of the exchange services we became stable again.

It "sounds like" I hit a storage limit of some kind.  I do not see any quota's set on the database itself for "prohibiting send / rec" at any type of storage level.  IS there somewhere that a database max size is set (other than the registry I tried and since have removed).

I was supposed to onboard another 20 mailboxes into our environment this week and I'm thinking this issue is going to prevent that unless I can find away to get us past 541GB.
Lean ITAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

timgreen7077Exchange EngineerCommented:
First if your exchange DBs are located on the same system drive C:\ as everything else I would suggest moving it. Also, is the transport que ballooning on you causing the space to get ate up, or is the drive just low? Run the below cmdlets in Exchange shell and see if there are any emails stuck in a user outbox. If you find anything delete it. This could be a cause of the mail.que ballooning on you also.

Get-Mailbox -ResultSize Unlimited | Get-MailboxFolderStatistics | Where-Object {$_.Name -eq "Outbox" -and $_.ItemsInFolder -gt '0' } | Select-Object Identity, FolderType, ItemsinFolder, FolderSize | Export-CSV "C:\Outbox.csv"
Alex GreenProject Systems EngineerCommented:
https://docs.microsoft.com/en-us/exchange/exchange-2013-storage-configuration-options-exchange-2013-help



Is this a standalone server or High Availability? If it's standalone you are breaking best practice of 200GB per database.

You can always create a new Database and then migrate people to it, please tell me this isn't sitting on your C:\ though....
Lean ITAuthor Commented:
Hi Tim / Alex,

Yes, this is on the C: drive.  I would like to move it but before we do that I need to get it cleaned up.  We have nearly 2.5x as many mailboxes as we do employees.  Some mailboxes are pushing 20gb by themselves!  So, I'm aware we need to prune that down, we need to get some limits in place that the users can live with and then moving the database wouldn't be such a challenge.

This is a stand alone environment.


When this was broken (unable to send / rec) the transport queue folder was filling up with trn.log files.  The mail.que folder was around 15gb in size.  I attempted to change settings in EdgeTransport.exe.config to turn off resource monitoring (believing that the mail.que) file size was growing to a point where it wouldn't allow more email but that had no effect.  When I remove and allowed exchange to recreate the que it would grow up to about 1.5gb or max of 5gb before stopping and filling the folder with log files.  There was over 600 of them at one point.  When this happened outboxes were stuck.  Currently, after running your script (thanks Tim) it identified some users with stuck outboxes... most not many, one user has 22 so I'll be visiting him shortly.

Currently, the que folder has 28 total items in it with a mail.que of 13.6gb and mail is flowing fine at this time.
Determine the Perfect Price for Your IT Services

Do you wonder if your IT business is truly profitable or if you should raise your prices? Learn how to calculate your overhead burden with our free interactive tool and use it to determine the right price for your IT services. Download your free eBook now!

Lean ITAuthor Commented:
Update, I visited the user with 22 emails showing (from exchange command) in his outbox but nothing is actually in his outbox in outlook.  So, that's odd.
timgreen7077Exchange EngineerCommented:
Remove the user from cache mode in outlook and then rerun the cmdlets and check. If they are still showing, while the user is not in cache mode see if the messages are there.
Jeff GloverSr. Systems AdministratorCommented:
Going back to your original question, the Available Free space is the White Space in the Database. In other words, it is space "freed up" by the online Defrag process Exchange does. If you need more than that space, it will simply grow the database. The actual Size limit for Exchange 2013 depends on the version you use. Standard has a 1 TB limit (1,024 GB) and Enterprise has none. However, if you are running a 1/2 TB database on C:. that is not good. You should move it to a dedicated drive, and make sure the logs are not on the same drive.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Lean ITAuthor Commented:
Thanks everyone, that was the answer to the question (I have a sperate post / question on the que issues we have had).  In my case (yes the logs are on the same drive as everything else too).  We have a lot of work to do here as well as upgrading past 2013!  Thanks for everyone's time on this!
Philip ElderTechnical Architect - HA/Compute/StorageCommented:
Wow.

Recommended production size of the database(s) should be about 250GB or thereabouts. With a Db that size on a system drive, probably with the logs there too, one will hit the database dismounting due to fragmentation at the storage level. It's going to be a real mess.

First thing to do:

Set up a 1TB partition and move that database over. Leave the logs behind. That will get the database contiguous again thus avoiding the spontaneous dismount that is sure to happen.

From there, split the mailboxes across a minimum of 2 databases though 3 would be better to keep things under 250GB so bump that partition up to 1.5TB.

What's being used to back up that Exchange setup and has it been test restored?
hecgomrecCommented:
I don't know why you  put Jeff Glover as your answer... as is partial!!! yes.. what he said is correct but none of the given comments is the solution as to why you were not able to send or receive emails.

Most likely, you issue is not related to any kind of database limit or its location, but that should be looked at, my conclusion is that your server was running out of memory or your processor was at 100%... and it will again until you control your IIS Application pools not to use more than 90% of your CPU.
Lean ITAuthor Commented:
Hi Hecgomrec, I put Jeff as the answer because he actually addressed the question about the database size limit.  That was my question, it wasn't why I wasn't able to send or receive emails.  I had a separate question and discussion around that topic already posted.  I also gave partial credit to the other guys as although not directly related to my question I learned something new from each.
hecgomrecCommented:
Is all good... not here for the points!!! but to pass my experience and help where I can other in the field!!!  Weird I don't have the other question listed!!!

Thanks... a good day!!
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Storage

From novice to tech pro — start learning today.