As an enterprise developer, I've always had SQL Server on my laptop (which is my main development machine), and it's been quite some time since I got my first laptop (1999). For years, SQL Server has been an indispensable tool for enterprise development, since the kind of application you tend to write in this line of business always has a relational database.

One well-known drawback of having SQL Server on your laptop is that it takes up resources, and it greatly increase start-up time when you turn on your computer. While you've always been able to configure resource usage while SQL Server is running (memory consumption, processor affinity, etc.), until Windows Vista, there's not been a lot you could do about boot time.

This may be old news to some, but I recently discovered that Windows Vista has added a fourth startup type to the already existing three (Automatic, Manual, Disabled): Delayed Start. With Delayed Start, the service will start, but not as part of the boot process. After making this discovery, I changed all the Automatic SQL Server services to Delayed Start, which has made my laptop boot in about half the time it usually had to use. That's a nice, free productivity gain right there.

Surprisingly enough, however, I find that since I started doing TDD, I've been using SQL Server less and less. These days, I usually create some sort of abstract data access interface and code against a test double, so I very rarely use an actual database. I keep SQL Server on my machine, but I only ever use it for the occasional integration test. My current installation of Windows and SQL Server on my main machine is from October 2006, and I don't have a single database on my machine yet. You just have to love Dependency Injection...