FREE Subscription to Dr. Dobb’s Digest: Same Great Content, New Digital Edition
Site Archive (Complete)
Database Blog: Review: A Developer’s Guide to SQL Server 2005
DATABASE
EXCEPTION::QUERY

A Blog About Database Products and Technology.

by Kevin Carlson
SELECT * FROM [Musings]

Database matters.

by Niklas Hemdal
July 05, 2006

Review: A Developer’s Guide to SQL Server 2005

I am a book person. I love books as a learning tool. As I elaborate here, I think books are still very useful, even in the age of the Internet.

I am fortunate enough to have a huge stack of books in my inbox, a large number of them SQL Server related. One of those that I have enjoyed reading is A Developer’s Guide to SQL Server by Bob Beauchemin and Dan Sullivan.

A Developer’s Guide to SQL Server is a big book, at about 960 pages of content. SQL Server 2005 is a huge step forward from SQL Server 2000, the version we have used and generally loved for many years now. For such a big change, having access to a big book such as this, covering primarily what is new in SQL Server 2005, is a great way to get started.

The biggest single change for SQL Server 2005 is the ability to write stored procedures, functions and triggers in any .NET language. A Developer’s Guide to SQL Server starts out with a good explanation of how SQL Server 2005 hosts the .net runtime. At first glance, this seems like it might not be the first thing you need to know about SQL Server 2005, but for anyone who expects to use .NET languages to write code to run on SQL Server really does need to know a little about how the magic works. That SQL Server is now serving as a runtime host has an impact on both security and reliability. For me, reading the chapter on how SQL Server acts as a runtime host allowed me to tie together a lot of what I knew in abstract terms (such as the fact that .NET code is stored inside the database) to concrete implications (.NET provides a large number of ways to modify hosting behavior, and loading code from a database rather than from the file system shows SQL Server using alternate code loading.

Once you know what might be more than you wanted to know about how SQL Server acts as a runtime host, the following chapters go into great detail on exactly how you can integrate your .NET code with SQL Server, as well as how to use user defined data types in SQL Server. The use of user-defined data types strikes me as one of the areas that can be difficult to fully understand and manage, especially in the context of keeping the data types in synch between SQL Server and other assemblies that might interact with SQL Server and these .NET user defined types. The book does a good job covering how you should (and just as importantly, when you should) use user defined types.

Security is a major issue for database developers these days. SQL Server acting as a runtime host has significant security implications, and the world at large is demanding that database developers create more secure databases. As a partial answer, SQL Server ships with many optional features turned off by default. Security is covered in a chapter that covers all the changes in SQL Server, from enabling features to using encryption. After reading the chapter covering security, I do not consider myself a SQL Server security expert, but I do know where to look when I need to understand and use some of the many new security features.

There are chapters covering SQL Engine enhancements as well as T-SQL enhancements. In light of the new ability to write code using .NET languages, the T-SQL new features have often been overlooked. While using the .NET languages can often be useful, a careful understanding of the T-SQL enhancements can help you make better use of T-SQL for what it does best, set operations. From error handling to ranking functions to common table expressions, the book does a good job of bringing you up to speed.

There are a number of chapters covering use of XML within SQL Server. This is an area that I, honestly, have not used extensively. If the occasion arises that I need to use XML, I will refer to this book.

Following chapters cover SQL Server Service Broker, SQL Server as a platform for Web services and using SQL Server from a client application, with emphasis placed on new features, such as retrieving user defined types.

There are appendices that act as a quick tutorial on .NET, SQL Server Management Studio and using Visual Studio to access SQL Server.

Overall, if you can afford only a single book on SQL Server 2005, I cannot think of a better book to invest in

Posted by Douglas Reilly at 09:29 AM  Permalink




 
INFO-LINK