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:
- Set the LargeSiteDB status to offline. This doesn't take the DB
offline - it just prevents the creation of new site
collections.
- 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.