Once in a lifetime: 100 books in a year

(This is my last blog post for 2009 – thanks to everyone who reads my blog and takes part in the SQL community – hope you have a Happy and Prosperous New Year!)  Every so often you have to challenge yourself with a goal that actually stretches your abilities and tests your stamina. At the start […]

So you want to write a Storage Engine…

Earlier today there was a thread on Twitter asking about what degrees and academic background people have who work on SQL Server. I volunteered to put together a reading list for those wanting to know more of the theory behind a relational database management system, rather than just how to use one. Here I present […]

What can cause log reads and other transaction log questions

Earlier today there was a question on SQL Server Central where someone wanted to know what could be causing so many reads on their transaction log. I was asked to chime in by fellow MVP Jonathan Kehayias (who also sent me some questions that I've answered in this post – thanks Jon!), so I did, with […]

Paul and Kimberly public class in Boston April 2010

The first of our public classes (what we call Immersion Events) in 2010 is now officially open for registrations! We've teamed up with our good friend Adam Machanic to bring a week-long custom class to the Boston area. In this class Kimberly and I take turns teaching modules and we're both on hand to answer questions, […]

Where do the Books Online index fragmentation thresholds come from?

I made them up. Yup. I'm talking about the guidance which is: if an index has less than 1000 pages and is in memory, don't bother removing fragmentation if the index has: less than 5% logical fragmentation, don't do anything between 5% and 30% logical fragmentation, reorganize it (using DBCC INDEXDEFRAG or ALTER INDEX … […]

Interesting 2008 partitioned view perf bug fixed in SP1 CU4

This is an interesting performance bug concerning a broken query optimizer rule in 2008. Thanks to Dan Shargel (Twitter) for sending me info on this and letting me use some of the stuff he sent. The scenario involves using MIN or MAX in a query against a partitioned view. In 2005 the query plan includes […]

SQLskills crew at Spring conferences

My goodness – no sooner are we done with one crazy conference season when planning starts for the next lot! We've just finalized the line-up for two conferences in the Spring: DevTeach in Toronto and SQL Connections in Las Vegas (changing it's name for this one event to Microsoft SQL Server Conference and Expo). This […]

2005 corruption bug with XML index rebuild fixed in latest CU

2005 SP3 CU6 contains a fix for a corruption bug that can happen after rebuilding an XML index that contains XML elements greater than 8000 bytes. The bug was fixed in 2008 but hadn't made it back to 2005 until the last CU was released. I had email from someone back in August experiencing corruption […]

Benchmarking hardware setup

It's been a few weeks since my last posts but I've got a bunch in the pipeline coming up. Firstly, I've got it together to start using the hardware we got a while back. I'm going to be doing some benchmarking, perf testing and playing with various HA technologies, and of course blogging a bunch about what […]