Resolving Content Databases are Full Error

The Problem

Error messages in SharePoint can be scary, but sometimes they’re actually quite useful. Take this one below for example. At first glance, it would appear something is wrong with your databases, and/or you’ve run out of disk space.

Error message: The content databases in this cluster are full. You cannot add more Web sites until you change the content database Web site capacity settings or add more content databases.

The Reality

In fact, neither of these are the case. This is a friendly message letting you know that you’ve run out of places to put new Site Collections. As the message indicates, there’s one of two possible resolutions to this, three if you count not doing anything. To resolve this issue, first start by going to Central Admin, and going to “Application Management”, and “Manage Content Databases”.

In there you’ll see something similar to the column layout below.

Allow me to describe each column, and what they represent.

  1. This is the name of your content database, in the case above, we have databases (with a prefix) labeled “Content1” through 6.
  2. The database status column actually has very little to do with what’s happening on the database side of things, this is more for telling SharePoint if this database is in fact accepting new site collections whatsoever (clicking on one of the database names and changing the status from “Ready” to “Offline” will result in the above value showing up as “Stopped” instead of “Started”. That doesn’t mean your content is offline, or unavailable to end users, or even read only. It just means that that content database is no longer accepting new site collections (regardless of everything else mentioned below).
  3. This is not a value you can set in SharePoint, this is actually derived by SharePoint maintaining a regular conversation with the SQL server, and being informed that in fact this database is read-only. From the end user’s perspective, this will lock the content much like a full quota or lock would (regardless of whether an explicit lock is in place).
  4. The Current Number of Site Collections is a running total of the number of site collections in a given content database, pretty self explanatory. This will get interesting shortly.
  5. The site collection level warning will send out an email to the system administrator when this threshold is crossed for a given content database. This is where it’s important that your farm administrator emails and SMTP values are setup correctly (but that’s another story).
  6. This is the most interesting number of the lot (as far as it pertains to the error above). If the maximum number of site collections is equal to the current number of site collections, and this is true of ALL available content databases (for a given Web Application), then this is when you’ll see the error above. In other words, if 1+2+3 = 1+2+3, then by simple math, you’re out of room dude.

The error above by no means that your database is out of disk space, nor does it mean it isn’t (it may well be), all it means is that there’s nowhere available to put a new site collection, because all your content databases have reached the maximum number currently.

Resolution

Your first order of business should be to ensure there’s room on your SQL server to add another content database. Just because a database has 6 site collections in it doesn’t mean it’s not taking up 100 GB of disk (heck, a single site collection can exceed that). Don’t simply look at the numbers above and assume that the lowest number has the most available disk space, check first. Once you’ve determined which database is the best place to put a new site collection, simply click on the database name (say, Content1 above) and you’ll be presented with the dialog below.

In here, update the “Maximum number of sites that can be created in this database”. I would recommend you only increase the value by 1 (as you don’t want to risk ending up running out of disk space in the future with too much new content in a single database).

Now there’s a place to add a new site collection and SharePoint will be happy again. Simply retry creating a new site collection, and you should be smiling at the end too.

Alternatively, you could add/create a new content database to your collection (naming it appropriately of course), and that too would ensure you’d have a place to add new site collections. If you choose this option, perhaps due to issues with existing content databases getting too large (SharePoint will complain if content databases exceed 100 GB), then be sure to set the numbers seen above to reasonable values, the defaults of 2000 and 5000 are almost certainly unreasonable in most circumstances.