After five years, the latest version of SQL Server was finally released under the title of SQL Server 2005. There are a lot of changes that have come along with this version, but a lot of the underlying philosophy and techniques are still the same. Professional SQL Server 2005 Programming takes the approach that it will not focus on just what is new; rather it takes the approach that it is more important to gain the understanding of the overall product and, more importantly, learn how to develop systems that meet your performance needs and store your data in a efficient manner.

The beginning portion of this book has been split out into a separate book called "Beginning SQL Server 2005 Programming." It was felt that to try to add all the updated information, there was no way to keep the integrity of what was to be presented, and still keep the book small enough to bind. Professional SQL Server 2005 Programming weighs in at over 880 pages as it is. The book contains 25 chapters and three appendices. In an effort to keep this review shorter than the book, I will list a group of chapter titles and then comment about them as a group.

These chapters focus on the basis of SQL Server by looking at the database objects that are contained within the system. It follows through the tools that are included, especially the new services that are introduced with the 2005 system. You will learn the fundamentals of T-SQL, building and modifying tables, and setting up keys and constraints as well as building queries to manipulate your data. It is here that you will re-familiarize yourself with the fundamental concepts.

Here you will learn about designing a database system in the most efficient manner using the normalize form and building with scalability in mind. You will find out about indexes and how to determine what should be indexed and what should not. You will learn about views and how they provide a virtual look at your data and the use of scripts and batches to automate some of your tasks.

Here you will now get in to more of the programming portion of the book in that you will learn about stored procedures and user-defined functions based on the core concepts that you learned about in the previous ten chapters. You will also learn how to use transactions to contain your SQL statements in units that function as all or nothing groups. In triggers you will find out how to manage referential and data integrity within your system. You will learn about the .NET assemblies and aggregate functions, using cursors to take a set of data and interacting with a single record at a time, and how XML is integrated within the new SQL Server.

Here you will get an overview of the new reporting services contained within SQL Server 2005 along with the classic BCP that goes back to the early days. You will also learn about the new Integration services that replace the old DTS system. You will also use Replication to move data from one database to another as well as using Full-Text search to query data from any document type that is supported by Microsoft Index Server.

You will get an overview of security and the options available to you within the new system. You will get a feel for what performance tuning is all about. You will learn about scheduling jobs, backing up and recovering data, some basic de-fragmenting, setting alerts, and archiving. Finally you will learn about the SQL SMO object model and its history.

These provide an overview of the system functions, methods of connecting to your database and working with Analysis server, Notification Server, and Service Broker.

Professional SQL Server 2005 Programming provides a good general overview of the components of SQL Server 2005. It does not try to go into any one subject in depth. In fact many of the chapters could be large individual books on their own. Second, this book is not trying to point out the new features of SQL Server 2005, rather it is trying to give you the full concept of what programming SQL should be within the framework of Microsoft SQL Server 2005 and highlighting the main topics, whether new or not, as it goes along.

It has been written with the same wit and style as the prior versions. It moves rather quickly and in a free-form manner. It is expected that you have had experience with SQL server and are ready to move to a more professional level. If you are looking for a book that that will give you a broad overview with just enough depth then Professional SQL Server 2005 Programming is the book for you.