If you're looking for a book that gives you plenty of starting points for programming against the various data access APIs available to MS SQL Server using .NET while learning something about some of the new tools and features available to MS SQL Server 2012, including SQL Server Data Tools, then this book is a good place to start. My only complaint: when this review went to press, the companion website and accompanying code samples were non-existent, yet they're referenced on several occasions; a little frustrating.
Part One of the book, "Core SQL Server Development", kicks off with a description of the new SQL Server Data Tools and its declarative, model based development approach, which utilizes an "in-memory representation of what the database looks like". This permits a developer to work against something beside the database, all from inside the project explorer in Visual Studio, then deploy to the real thing.
Chapter two of the book illustrates the latest T-SQL additions, which include improved "windowing" using the OVER clause, new functions, improvements to THROW, "server-side result set paging with OFFSET and FETCH NEXT", "sequential number generation with the SEQUENCE object", and "metadata discovery". Even in the absence of the downloadable code samples, there are plenty of samples in the pages of the book to keep you off the streets.
Chapter Three does a good job showing the reader the degree to which Visual Studio and SQL Server are integrated and how a developer can host SQL Server Database Projects in Visual Studio, and the next chapter goes on to give a thorough explanation of Transactions and a review of the ACID properties for added context. Chapter Five lists the "four themes" of the security framework of SQL Server: Secure by Design, Default, Deployment, and Communications. Later, some of the attack methods that hackers use to molest SQL Server are shared with the reader, also for additional context.
Part Two, which spans Chapters 6 through 9, describes situations where storing XML in the database might be the best option, despite the objections of "database purists". The FOR XML commands are introduced here, along with several other XML features used for programming against SQL Server, like XQuery, OPENXML, and FOR XML PATH. In Chapter Seven, the authors demonstrate the usefulness and best practices for the hierarchyid data type. Chapter Eight gives us a very informative lesson on the reasons for Native File Streaming and how it provides us with the opportunity to enjoy the benefits of file system and database storage at the same time. In addition, it introduces us to the FileTable, which is a new feature in SQL Server 2012 that "builds on FILESTREAM", and "combines hierarchyid and the Windows file system API to deliver exciting new BLOB capabilities in SQL Server." Chapter 9 explores spatial data support in SQL Server with a couple of examples that work with the geometry and geography data types and their associated methods, then goes on to introduce new spatial classes like circular strings, compound curves and curve polygons. The chapter ends with a Bing Mash-Up application.
Part Three of the book encompasses six more chapters and starts off with a rundown of the .NET data access APIs--ADO.NET, LINQ, and the Entity Framework, with close attention paid to DataSets, including a discussion defending their continued relevance. Chapter Eleven moves on to WCF and is packed with sample code for building and extending data services and RIA services using REST and OData. This is the chapter where Silverlight makes its appearance.
Chapters 12 and 13 move to the cloud. I liked these chapters for their complete description of the subject. The authors cover what the cloud actually is, which is a discussion that actually begins in Chapter One, all the way to SQL Azure pricing plans and screen shots of the management portal. Also included in these chapters is a discussion of the importance of BACPACS and DACPACS, which are the deployment units generated by SQL Server Data Tools (SSDT). SQL Azure Federations, SQL Azure "Data Sync" and Windows Phone 7 development are also examined, complete with a description of the "characteristics of an occasionally connected system" and how to create one.
The book finishes with two chapters (14 and 15) of discourse on the subject of SQL Server's business intelligence stack, which is what drew me to the book in the first place. Included in this final section are brief summaries of each tool, and finally, a description of the new "enhancements to PowerPivot" and "the introduction of column store technologies to SQL Server".