The SQL Server databases are the heart of every SharePoint farm. Your SharePoint farm will only be as fast and as stable as you SQL Server environment is. Despite of that most SQL Server environments for SharePoint farms are maintained by SharePoint administrators that have no deep knowledge of the SQL internals and best practices. This is something that has grown from when SharePoint was only a small scale product. Right now however a lot of SharePoint implementations are enterprise wide and business critical. And if it is, it needs to be treated as such.
I must admit that before my MCM SharePoint training in March of this year I wasn't too aware of all this either and I know that a lot of great SharePoint developers and administrators that I know and respect aren't either.
So when we had to find a last minute replacement for a session at the SDN Event of June 29th and it turned out that our best option would be a session by Donald Hessing and myself we decided to cover a couple of SharePoint/Architecture topics that could do with a bit more exposure. I want to thank Donald again for being very flexible and getting up to present even though he just had a rough three weeks of MCM training in Redmond and was still suffering from jetlag. I really enjoyed finally presenting together.
This was our agenda:
- What everybody should know about SQL Server in a SharePoint farm
- Respect the SharePoint Software Boundaries
- The SharePoint API under the hood
- Using Dispose()
- Using a data layer
In the SQL Server topic I talked about separating database volumes onto separate physical hard disks, SQL TempDB best practices, RAID configurations, pre-sizing, auto growing and SQL maintenance. Now I only know about what I was taught by Paul Randal and Kimberly Tripp in two days and what I read after that. So if you really want to learn more about SQL Server I suggest you turn to them (or rather their blogs) at www.sqlskills.com. They are great SQL gurus and are just now starting to get involved with SharePoint, so many useful information can be expected from them. Kimberly already did three great posts on database maintenance and one on clustered indexes and primary keys. These are must reads!
Some information can also be found on MSDN. In general you want to look for posts by Bill Baer as he is the SQL man in the SharePoint world.
Database maintenance for Office SharePoint Server 2007 (white paper)
Planning and Monitoring SQL Server Storage for Office SharePoint Server: Performance Recommendations and Best Practices (white paper)
Using SQL Server Database Mirroring with Office SharePoint Server and Windows SharePoint Services
Now if you still want to read more, Donald and my slides can be found here and the SQL scripts Donald showed during the presentation can be found on his blog.