Sql Server 2008 is here, and Microsoft is busy working on the next release. But let me tell you, there are still tons of Sql Server 2000 out there. So far this year, I spent well over 2/3 of my time working on Sql Server 2000 projects. Clients know they need to move to the next version, reluctantly. One of the major roadblock is SSIS. Companies have made huge investment in that technology and there are DTS packages all over the place. Sure, there is DTS Runtime, but upgrading the packages is a huge undertaking with a steep learning curve. Many people love DTS, because it really hits the sweet spot of simplicity and yet still being powerful enough to get things done.
Anyhow, since I work with Sql Server 2000 quite a bit, and may have to review or even code some Visual Basic 6 programs, I figured it was a good time to take a trip down memory lane: I started reading Ken Henderson’s The Guru’s Guide to SQL Server Architecture and Internals. I read it from cover to cover, with the exception of Notification Services, ODSOLE, and a few XML chapters. I’ve also compiled and ran many of his C Win32 API programs to get a better understanding of Windows internals. In addition, I had fun poking under the hood with WinDbg by following his exercises. (Earlier this year I did some exercise with the Linux debugger gdb, figuring out some simple problems with MySQL program written in C. In many ways, they are similar, based on my limited experience.) A hint for you if you decide to follow exercises in his book, for Chapter 3, 4, and 5, where he talked about processes and threads, memory, and I/O system, be sure to change the project to Debug mode. The code files from the CD put you in Release mode in Visual C++ 6.0.
Ken’s book got me interested in the impact of Solid State Disk on Sql Server. In Sql Server, UMS, or SQLOS, tries to keep things running as much as possible in user mode, as opposed to kernel mode, adopting a co-operative as opposed to preemptive model. And it uses mostly asynchronous I/O and scatter-gather I/O. With the emergence of Solid State Disk, I wonder what kind of impact, if any, there is for such an I/O intensive application as Sql Server.
Anyway, I really learned a lot from the book. Ken knew Sql Server inside out. Unfortunately, he passed away this year, and I wrote a tribute here.
I’ve learned from various sources on the web that Ken’s last book is more or less done before he passed away. I don’t know about you, I would love to read it. However, not wanting to be preposterous or disrespectful to his immediate families and friends, I’ve been quiet on it for a while. I did, however, sent an email to Addison-Wesley, asking the possibility of putting the book as Rough Cuts on Safari Books Online, but got no response from them.
In any event, with the PASS conference going on in Seattle now, I thought it is appropriate to honor Ken in some way during the event. Unfortunately I couldn’t make it to the conference due to schedule conflict. Like I said, Ken is such a wonderful, generous, kind-hearted human being who contributed so much to the community. He certainly earned my gratitude and utmost respect. I wonder if it would be a wonderful tribute to Ken, who is beloved by so many of his colleagues and Sql Server professionals who’ve read his Sql Server books, for PASS to somehow make Ken’s last book available.