Linley Schaller said
The book is good but is becoming quite dated. For those using SQL Server 2005 it is a little disappointing because SQL Server architecture has changed so much. Its overall value is reduced by this.
M. Loftus said
People who aspire to be real experts in Sql Server 2000 should read this book cover-to-cover (skipping the pompous Essay in the back and the "quotes" at the beginning of each chapter). There is a lot here and it will help remind you how you should be coding your sql and why.
Darren Bennett said
This is by far the best book available on Microsoft's Sql Server. I found it much far more informative and much deeper than Kalen Delaney's book - the only other one that comes close. It is a book unlike any other that I have read on Sql Server in that it is extremely deep - deeper than just about any technical book I think I have ever read - and extremely broad. Most books are one or the other, but this one really is both. Every chapter is a treasure chest of useful info. Several could be books unto themselves. The discussion of DTS for example is actually better than whole books on the subject. The User Mode Scheduler chapter is so deep I had to read it twice. The list could go on and on.
One thing I really appreciate about the book is that the author includes a good section (Approximately the first 300 pages) on Windows insides and fundamental concepts. His reasoning for including this type of info in a Sql Server book is sound: because most Dba's do not have the grasp of Windows fundamentals they will need to understand the indepth writing on Sql Server that he offers in the subsequent chapters and because he doesn't want readers to have to read multiple other books just to understand his. The author writes about Sql Server from the perspective of a professional developer and wants to first make sure his readers understand Windows and networking and COM and etc. at that level so that they can follow the rest of the book. It would have been easier for him to have said, "Read XML 101 chapter 8 before you read this chapter of mine," but he doesn't take the easy way out. Instead he covers everything you need to know to understand Sql insides in a single book.
The author's writing on Windows insides goes beyond merely providing info. He seems to be trying to teach basic debugging and exploring skills. He claims to want to teach Dba's and readers how to explore Sql insides on their own - the assumption being that no one book could fully cover Sql's insides given how complex it is and things continue to change. That is an admirable goal though I do not know if the average Dba is up to the task. Irregardless if you really want to understand Sql and gain the tools to continue to explore it for years to come you could not ask for a better book to launch from.
I regularly read Windows fundamentals books and can also report that the author's writing on Windows insides is more thorough than that by any other author. It is also done from the perspective of Sql Server. The exercises often feature the Sql Server.exe process for example. When an application is investigated from a Windows insides standpoint that application is Sql Server. This Windows insides part of the book is an indispensable piece and a real gem. It could (and should) be a book itself.
Another thing I really like is that the author avoids repeating what you can find in other Sql insides books and whitepapers. Somewhere at the beginning, I think in the preface, he says that he avoided covering the storage engine because it was already covered well enough elsewhere. Delaney's book has full writing on the storage engine and this book doesn't try to replace that. For that reason I think they make a nice set. The author's book gets into query processor insides, memory insides, threading insides, and many, many others, but leaves the storage engine and some other pieces to the books and whitepapers that preceded it. I see the most indepth and expansive Sql insides coverage in this book that I have seen in any Sql book, but I also see where he avoided needlessly repeating what other people have already well covered.
Like the other two Guru Guide books this book is extremely well written. I was often impressed with the author's knack for making rather complex topics easy to understand. Nowhere is this more evident than in the User Mode Scheduling chapter wherein he takes a subject that is obviously rather complex yet critical to understanding how Sql Server works and that AFAIK is not covered in any other book (certainly not in Delaney's) and reduces it down to something anyone can understand. He builds on the Windows insides discussion earlier in the book to explain very succinctly how Sql Server schedules work to be done and carries it out. For me this was worth the cost of admission alone.
If I had to pick just one book to buy on Sql Server, this would be the one. I'd follow it up with Delaney's book and the author's other Guru Guide books.
Dmitry Dvoinikov said
Alas, this book was a VERY disappointing reading.
Its one of the biggest sins is having a misleading title. "SQL Server Architecture and Internals" ? Forget it.
The first whole third of the book is Win32 in a nutshell. It tells you about memory, processes, I/O and everything. But I already have my Richter dog-eared all right, I wouldn't need a reminder in a book on SQL Server.
Then, about the SQL Server. Internals ? What a joke. The only internals that you would find are names of the DLLs where this or that SQL Server subsystem resides and a few hardcore debugger sessions to show you those DLLs actually get loaded. Uh-huh, thanks.
Can you imagine a book on SQL Server internals which doesn't mention pages and/or extents ? In-depth description of different execution plans ? This is the one.
What this book really is, is 20 chapters worth of overviews for more or less known SQL Server features. Average-to-good overviews of a less known features. Uhm, architecture, internals ? Nope - SQLXML, DTS, notification services, cursors, transactions. Take cursors - it says there are four types of cursors, you know, static, etc. and shows an SQL snippet for each. That's basically it. Take transactions - ACID, isolation levels and usage hints. Oh well, it could be worse...
Difficult to say without reading other books by the same author (not that I have an urge any more), but it appears he has written a whole series of them. You find sentences like "In my other book..." all over the place. Just love it:
[quote]
I must confess that I was conflicted when I sat down to write this chapter. I wrestled with whether to update the SQLXML coverage in my last book, which was more focused on the practical application of SQLXML but which I felt really needed updating, or to write something completely new on just the architectural aspects of SQLXML, with little or no discussion of how to apply them in practice. Ultimately, I decided to do both things.
[/quote]
Isn't it great ?
Oh, the chapter on Full-Text Search was hilarious. How about this:
[quote]
Communication between SQL Server and Microsoft Search occurs via a full-text provider. This provider resides in SQLFTQRY.DLL in the binn folder under your default SQL Server installation.
...
The sp_fulltext_... system procedures interact with it via the undocumented DBCC CALLFULLTEXT command
...
Table 16.1. DBCC CALLFULLTEXT Functions
[*** A TABLE OF FUNCTION IDS TAKING THE ENTIRE PAGE ***]
...
As a rule, you shouldn't call DBCC CALLFULLTEXT in your own code. The function IDs and parameters listed above could change between releases
[/quote]
What a heck did I just learn ???
I thought this book would show me how to improve the performance of the applications that I write by knowing the database server architecture deeper. Instead, I got a book of not so bad overviews of different things for which there either was no coverage in the previous books or the author thought a quick reminder would be nice.
To be fair, some of the discussions were reasonably interesting, like chapter 12 "Query Processor", but give me a break, it's like 40 pages in a 1000 pages book.
Don't.
Anthony D. Rogan said
500 pages of Win NT/2000 fundamentals in a SQL Server Architecture book. Come on, get real Ken Henderson.
Almost zilch in the way of diagrams makes for very heavy going.
I primarily bought the book to give me a total knowledge of SQL Server Architecture. I hadn't got far before I realised that a high level description of the architecture was not going to be included because, according to the author, it had been covered in a previous book. Not good enough and I am asking the publishers for my money back.
Also, treatment of things like explanations of XML in a SQL Server Architecture book ? The author has done what no IT system should do ... not adhered to requirements which in this case are to explain SQL Server and Internals.
All in all a disappointing experience.
Comments