One awesome new feature in WSS V3 is the ability to have multiple content databases per web application.
This can help make your databases more manageable if you have some really big sites.
One real life scenario that I have seen recently is with a client that has a WSS deployment with about 15 site collections. Most of the site collections are less than 1GB in size. However there is one site collection that is around 15GB. We decided to lump all the small site collections in one content database, and dedicate another content database to the large site collection.
This has a number of benefits around scalability, ease of backup and restore, increased flexibilty for DB migration and so on.
But after we have setup our content databases how do we ensure that any new site collections created will go in the right content database?
At first I thought any new site collections were created in the content database that was attatched last.
The real answer though is that any new site collection will be created in the database with the biggest difference between existing sites and maximum number of sites allowed.
Going back to my previous example which has the following setup:
|
DB Name |
Num Sites |
Max Sites |
|
LargeSiteDB |
1 |
50 |
|
SmallSitesDB |
15 |
50 |
In this situation any new site collections will be created in the LargeSiteDB. I want this site collection to host just the one database so this is no good.
To remedy this there are two options:
1/ Set the LargeSiteDB status to offline. This doesn't take the DB offline - it just prevents the creation of new site collections.
2/ Reduce the Max Sites on LargeSiteDB to less than 35.
I would reccommend doing a combination, it would be good practice to set LargeSiteDB to offline anyway, and lowering the Max Sites value is a good indicator to other administrators.