New book: Programming Microsoft SQL Server 2012

cover for Programming Microsoft SQL Server 2012We’re happy to announce the availability of Programming Microsoft SQL Server 2012 (ISBN 978-0-7356-5822-6), by Leonard Lobel and Andrew Brust. This book is a quintessential guide to the programming features in Microsoft SQL Server 2012, packed with the information you need to design, test, and deploy SQL Server databases. It explores the plethora of ways you can program SQL Server (and its cloud cousin, SQL Azure) to build custom applications and services.

Today, SQL Server is more than a database—it’s a collection of services that includes robust relational data storage and retrieval, backup, security, reliability, reporting, data monitoring, Business Intelligence (BI), data integration, manageability features, and more. Most of these services are accessible to programmers for application and customization purposes, and that programmability is the focus of this book.

This book is intended for developers who already have a basic knowledge of relational database terms and principles—whether that experience is with SQL Server or other platforms. Therefore, the book doesn’t try to teach basic database concepts and principles, such as tables, views, primary and foreign keys, stored procedures, and so on. Instead, this book offers an exploration of the feature set that SQL Server 2012 offers, covering not only extensions to T-SQL and the relational database engine, but also features such as native file streaming, geospatial data, and other types of unstructured data. The book contains chapters on security, transactions, client data access, security, mobile/cloud development, and more, adding up to detailed coverage of the latest and most important SQL Server programming features. However, this is a book intended for programmers, not for administrators, so in general, this book does not discuss non-programmable features.

The book is arranged in three major sections:

• Core SQL Server Development

• Going Beyond Relational

• Applied SQL

Sample Chapters

You can read this sample chapter: Introducing SQL Server Data Tools.

Purchase

Purchase at The Microsoft Press Store.

Table of Contents

Part I: Core SQL Server Development

Chapter 1 Introducing SQL Server Data Tools

Introducing SSDT
Working with SSDT
Summary

Chapter 2 T-SQL Enhancements

Table-Valued Parameters
Date and Time Data Types
The MERGE Statement
The INSERT OVER DML Syntax
The GROUPING SETS Operator
Windowing (OVER Clause) Enhancements
New T-SQL Functions in SQL Server 2012
The THROW Statement
Server-Side Paging
The SEQUENCE Object
Metadata Discovery
Summary

Chapter 3 Exploring SQL CLR

Getting Started: Enabling CLR Integration
Visual Studio/SQL Server Integration
Your First SQL CLR Stored Procedure
CLR Stored Procedures and Server-Side Data Access
Deployment
CLR Functions
CLR Triggers
CLR Aggregates
SQL CLR Types
Security
Examining and Managing CLR Types in a Database
Best Practices for SQL CLR Usage
Summary

Chapter 4 Working with Transactions

What Is a Transaction?
Local Transaction Support in SQL Server
Isolation Levels
Distributed Transactions
Transactions in SQL CLR (CLR Integration)
Putting It All Together
Summary

Chapter 5 SQL Server Security

Four Themes of the Security Framework
SQL Server Security Overview
Authentication and Authorization
Encryption Support
SQL Server Audit
Partially Contained Databases
How Hackers Attack SQL Server
Summary

Part II: Going Beyond Relational

Chapter 6 XML and the Relational Database

Character Data as XML
The xml Data Type
FOR XML Commands
Additional FOR XML Features
Shredding XML Using OPENXML
Querying XML Data Using XQuery
Summary

Chapter 7 Hierarchical Data and the Relational Database

The hierarchyid Data Type
Creating a Hierarchical Table
Populating the Hierarchy
Hierarchical Table Indexing Strategies
Querying Hierarchical Tables
Reordering Nodes within the Hierarchy
More hierarchyid Methods
Summary

Chapter 8 Native File Streaming

Traditional BLOB Strategies
Introducing FILESTREAM
Enabling FILESTREAM
Creating a FILESTREAM-Enabled Database
Storing and Retrieving FILESTREAM Data
Deleting FILESTREAM Data
Direct Streaming in .NET with SqlFileStream
FILESTREAM Limitations and Considerations
Introducing FileTable
Searching Documents
Summary

Chapter 9 Geospatial Support

SQL Server Spaces Out
Spatial Models
Spatial Data Standards
Spatial Data Types
Spatial Enhancements in SQL Server 2012
Integrating with Microsoft Bing Maps
Summary

Part III: Applied SQL

Chapter 10 The Microsoft Data Access Juggernaut

.NET Data Access Evolution
Preparing the Sample Database
Monitoring Database Activity with SQL Server Profiler
Conventional ADO.NET
Language-Integrated Query (LINQ)
Object Relational Modeling (ORM) Comes to .NET
Summary

Chapter 11 WCF Data Access Technologies

Defining Services
WCF Data Access Options
WCF Data Services
WCF RIA Services
Making the Right WCF Data Access Choice
Summary

Chapter 12 Moving to the Cloud with SQL Azure

History
But What Is SQL Azure?
Getting Set Up
Managing Your Database
Migrating and Syncing Between Earth and Cloud
SQL Azure Federations
SQL Azure Reporting
Summary

Chapter 13 SQL Azure Data Sync and Windows Phone 7 Development

Characteristics of an Occasionally Connected System
Getting to Know SQL Azure Data Sync
Creating an Occasionally Connected System
Prerequisites
Configuring SQL Azure Data Sync
Hosting WCF Data Services in Windows Azure
Consuming OData on Windows Phone
Summary

Chapter 14 Pervasive Insight

The Microsoft BI Stack: What’s It All About?
Master Data Services
Data Quality Services
Integration Services
SQL Server RDBMS, Fast Track DW, and SQL Server PDW
Analysis Services
Power View
Reporting Services
Excel and Excel Services
PerformancePoint Services
StreamInsight
SQL Server Editions and SharePoint Version Requirements
Summary

Chapter 15 xVelocity In-Memory Technologies

Column Store Databases
xVelocity in the RDBMS: Columnstore Indexes
xVelocity for Analysis: PowerPivot and SSAS Tabular Models
Welcome Back to VertiPaq
Summary