Introducing Microsoft®SQL Server®2012                                   Ross Mistry and Stacia Misner
PUBLISHED BYMicrosoft PressA Division of Microsoft CorporationOne Microsoft WayRedmond, Washington 98052-6399Copyright © 2012 by Microsoft CorporationAll rights reserved. No part of the contents of this book may be reproduced or transmitted in any form or by anymeans without the written permission of the publisher.Library of Congress Control Number: 2012933508ISBN: 978-0-7356-6515-6Microsoft Press books are available through booksellers and distributors worldwide. If you need support relatedto this book, email Microsoft Press Book Support at [email protected]. Please tell us what you think ofthis book at http://www.microsoft.com/learning/booksurvey.Microsoft and the trademarks listed at http://www.microsoft.com/about/legal/en/us/IntellectualProperty/Trademarks/EN-US.aspx are trademarks of the Microsoft group of companies. All other marks are property oftheir respective owners.The example companies, organizations, products, domain names, email addresses, logos, people, places, andevents depicted herein are fictitious. No association with any real company, organization, product, domain name,email address, logo, person, place, or event is intended or should be inferred.This book expresses the author’s views and opinions. The information contained in this book is provided withoutany express, statutory, or implied warranties. Neither the authors, Microsoft Corporation, nor its resellers, ordistributors will be held liable for any damages caused or alleged to be caused either directly or indirectly bythis book.Acquisitions Editor: Anne HamiltonDevelopmental Editor: Devon MusgraveProject Editor: Carol DillinghamTechnical Reviewer: Mitch Tulloch; Technical Review services provided by Content Master, a member of CMGroup, Ltd.Copy Editor: Roger LeBlancIndexer: Christina YeagerEditorial Production: Waypoint PressCover: Twist Creative • Seattle
I dedicate this book to my wife, Sherry. Thank you for being one of the onlypeople in my life who has always been there for me regardless of the situationand has never let me down. I am greatly appreciative.                                                                 –Ross Mistry   I dedicate this book to my husband and best friend, Gerry, who excels atkeeping our dreams alive.                                                               –Stacia Misner
Contents at a GlancePART 1  DATABASE ADMINISTRATIONCHAPTER 1	   SQL Server 2012 Editions and Engine Enhancements	       3CHAPTER 2	   High-Availability and Disaster-Recovery Enhancements	  21CHAPTER 3	   Performance and Scalability	                           41CHAPTER 4	   Security Enhancements	                                 57CHAPTER 5	   Programmability and Beyond-Relational Enhancements	    73PART 2  BUSINESS INTELLIGENCE DEVELOPMENTCHAPTER 6	   Integration Services	                                   93CHAPTER 7	   Data Quality Services	                                 141CHAPTER 8	   Master Data Services	                                  175CHAPTER 9	   Analysis Services and PowerPivot	                      199CHAPTER 10	  Reporting Services	                                    229
Contents                     Introduction.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . xvPART 1  DATABASE ADMINISTRATIONChapter 1	 SQL Server 2012 Editions and Engine Enhancements	 3                     SQL Server 2012 Enhancements for Database Administrators.  .  .  .  .  .  .  .  .  .  . 4                             Availability Enhancements.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 4                             Scalability and Performance Enhancements.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 6                             Manageability Enhancements.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 7                             Security Enhancements.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 10                             Programmability Enhancements.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 11                     SQL Server 2012 Editions. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 12                             Enterprise Edition.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 12                             Standard Edition. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 13                             Business Intelligence Edition .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 14                             Specialized Editions.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 15                     SQL Server 2012 Licensing Overview .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 15                     Hardware and Software Requirements.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 16                     Installation, Upgrade, and Migration Strategies.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 17                             The In-Place Upgrade.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 17                             Side-by-Side Migration.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 19What do you think of this book? We want to hear from you!Microsoft is interested in hearing your feedback so we can continually improve our books and learningresources for you. To participate in a brief online survey, please visit:                                                        microsoft.com/learning/booksurvey                                                                                                                                                                                                   vii
Chapter 2	 High-Availability and Disaster-Recovery                                  Enhancements	21                                    SQL Server AlwaysOn: A Flexible and Integrated Solution .  .  .  .  .  .  .  .  .  .  .  .  . 21                                    AlwaysOn Availability Groups .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 23                                            Understanding Concepts and Terminology .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 24                                            Configuring Availability Groups .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 29                                            Monitoring Availability Groups with the Dashboard.  .  .  .  .  .  .  .  .  .  .  .  . 31                                    Active Secondaries.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 32                                            Read-Only Access to Secondary Replicas .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 33                                            Backups on Secondary .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 33                                    AlwaysOn Failover Cluster Instances.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 34                                    Support for Deploying SQL Server 2012 on Windows Server Core .  .  .  .  . 36                                            SQL Server 2012 Prerequisites for Server Core.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 37                                            SQL Server Features Supported on Server Core. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 38                                            SQL Server on Server Core Installation Alternatives .  .  .  .  .  .  .  .  .  .  .  .  . 38                                    Additional High-Availability and Disaster-Recovery Enhancements.  .  .  .  . 39                                            Support for Server Message Block. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 39                                            Database Recovery Advisor.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 39                                            Online Operations.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 40                                            Rolling Upgrade and Patch Management.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 40               Chapter 3	 Performance and Scalability	  41               Columnstore Index Overview.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 41               Columnstore Index Fundamentals and Architecture.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 42                       How Is Data Stored When Using a Columnstore Index?.  .  .  .  .  .  .  .  .  . 42                       How Do Columnstore Indexes Significantly Improve the                       Speed of Queries? .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 44                       Columnstore Index Storage Organization.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 45                       Columnstore Index Support and SQL Server 2012. .  .  .  .  .  .  .  .  .  .  .  .  .  . 46                       Columnstore Index Restrictions. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 46               Columnstore Index Design Considerations and Loading Data.  .  .  .  .  .  .  .  .  . 47                       When to Build a Columnstore Index. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 47                       When Not to Build a Columnstore Index. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 48                       Loading New Data.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 48viii	Contents
Creating a Columnstore Index.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 49        Creating a Columnstore Index by Using SQL Server        Management Studio.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 50        Creating a Columnstore Index Using Transact-SQL.  .  .  .  .  .  .  .  .  .  .  .  .  . 51        Using Columnstore Indexes. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 52        Using Hints with a Columnstore Index.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 53Columnstore Index Observations and Best Practices .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 54Chapter 4	 Security Enhancements	  57Security Enhancements in SQL Server 2012 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 57Security Manageability Improvements.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 58        Default Schema for Groups .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 58        User-Defined Server Roles.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 59Audit Enhancements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .62        Audit Supported on All SKUs.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 62        Improved Resilience. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 62        User-Defined Audit Event.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 65        Record Filtering .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 66Database Authentication Enhancements.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 67        Enabling Contained Databases.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 68        Creating Users. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 69        Contained Database Authentication Security Concerns.  .  .  .  .  .  .  .  .  . 70Additional Security Enhancements .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 71        Cryptography Changes.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 71        Tight Integration with SharePoint and Active Directory .  .  .  .  .  .  .  .  . 71        Provisioning Enhancements .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 72        New Permissions .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 72Chapter 5	 Programmability and Beyond-Relational                   Enhancements	73                     Pain Points of Using the Beyond Relational Paradigm.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 73                     SQL Server 2012 Beyond-Relational Goals.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 74                     Rich Unstructured Data and Services Ecosystem .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 74	Contents	ix
Beyond-Relational Example .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 76            FILESTREAM Enhancements .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 76            FileTable .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 77                    FileTable Prerequisites.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 78                    Creating a FileTable.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 80                    Managing FileTable.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 81            Full-Text Search.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 81            Statistical Semantic Search .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 82                    Configuring Semantic Search. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 83                    Semantic Search Examples.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 85            Spatial Enhancements .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 86                    Spatial Data Scenarios .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 86                    Spatial Data Features Supported in SQL Server. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 86                    Spatial Type Improvements.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 87                    Additional Spatial Improvements.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 89            Extended Events.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 90            PART 2  BUSINESS INTELLIGENCE DEVELOPMENT            Chapter 6	 Integration Services	           93            Developer Experience .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 93                    Add New Project Dialog Box.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 93                    General Interface Changes.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 95                    Getting Started Window. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 96                    SSIS Toolbox.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 97                    Shared Connection Managers.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 98                    Scripting Engine.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 99                    Expression Indicators. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 100                    Undo and Redo .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 100                    Package Sort By Name.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 100                    Status Indicators.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 101            Control Flow. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 101                    Expression Task. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 101                    Execute Package Task.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 102x	Contents
Data Flow. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 103                             Sources and Destinations.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 103                             Transformations.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 106                             Column References.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 108                             Collapsible Grouping.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 109                             Data Viewer. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 110                     Change Data Capture Support.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 111                             CDC Control Flow. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 112                             CDC Data Flow.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 113                     Flexible Package Design. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 114                             Variables. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .115                             Expressions.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 115                     Deployment Models.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 116                             Supported Deployment Models.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 116                             Project Deployment Model Features.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 118                             Project Deployment Workflow .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 119                     Parameters.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 122                             Project Parameters. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 123                             Package Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124                             Parameter Usage.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 124                             Post-Deployment Parameter Values. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 125                     Integration Services Catalog.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 128                             Catalog Creation .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 128                             Catalog Properties.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 129                             Environment Objects.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 132                     Administration.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 135                             Validation. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 135                             Package Execution.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 135                             Logging and Troubleshooting Tools. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 137                             Security .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 139                     Package File Format.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 139	Contents	xi
Chapter 7	 Data Quality Services	  141              Data Quality Services Architecture .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 141                      Data Quality Server.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 141                      Data Quality Client .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 142              Knowledge Base Management. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 143                      Domain Management.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 143                      Knowledge Discovery.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 154                      Matching Policy.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 157              Data Quality Projects.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 161                      Cleansing Projects.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 161                      Matching Projects .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 164              Administration.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 166                      Activity Monitoring.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 166                      Configuration.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 167              Integration.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 170                      Integration Services.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 171                      Master Data Services.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 173              Chapter 8	 Master Data Services	   175              Getting Started.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 175                      Upgrade Considerations.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 175                      Configuration.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 176              Master Data Manager .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 177                      Explorer.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 177                      Integration Management.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 181                      User and Group Permissions .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 183              Model Deployment. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 185              MDS Add-in for Excel.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 187                      Installation of the MDS Add-in.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 187                      Master Data Management.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 187                      Model-Building Tasks .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 192                      Shortcut Query Files .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 194                      Data Quality Matching.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 194xii	Contents
Miscellaneous Changes.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 197        SharePoint Integration .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 197        Metadata.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 197        Bulk Updates and Export .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 197        Transactions .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 198        Windows PowerShell.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 198Chapter 9	 Analysis Services and PowerPivot	  199Analysis Services.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 199        Server Modes.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 199        Analysis Services Projects.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 201        Tabular Modeling.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 203        Multidimensional Model Storage.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 215        Server Management .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 215        Programmability. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 217PowerPivot for Excel.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 218        Installation and Upgrade .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 218        Usability.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 218        Model Enhancements.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 221DAX	. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .222PowerPivot for SharePoint. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 224        Installation and Configuration.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 224        Management. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 224Chapter 10	 Reporting Services	               229New Renderers .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 229        Excel 2010 Renderer .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 229        Word 2010 Renderer.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 230SharePoint Shared Service Architecture.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 230        Feature Support by SharePoint Edition.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 230        Shared Service Architecture Benefits.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 231        Service Application Configuration .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 231	Contents	xiii
Power View. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 232        Data Sources.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 233        Power View Design Environment .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 234        Data Visualization .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 237        Sort Order.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 241        Multiple Views .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 241        Highlighted Values. .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 242        Filters.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 243        Display Modes .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 245        PowerPoint Export.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 246Data Alerts.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 246        Data Alert Designer.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 246        Alerting Service .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 248        Data Alert Manager.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 249        Alerting Configuration .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 250	Index	                                                                                                                              251                       What do you think of this book? We want to hear from you!                              Microsoft is interested in hearing your feedback so we can continually improve our books and learning                              resources for you. To participate in a brief online survey, please visit:                                                                               microsoft.com/learning/booksurveyxiv	Contents
Introduction  Microsoft SQL Server 2012 is Microsoft’s first cloud-ready information platform. It gives               organizations effective tools to protect, unlock, and scale the power of their data, and it works        across a variety of devices and data sources, from desktops, phones, and tablets, to datacenters and        both private and public clouds. Our purpose in Introducing Microsoft SQL Server 2012 is to point out        both the new and the improved capabilities as they apply to achieving mission-critical confidence,        breakthrough insight, and using a cloud on your terms.        As you read this book, we think you will find that there are a lot of exciting enhancements and new        capabilities engineered into SQL Server 2012 that allow you to greatly enhance performance and        availability at a low total cost of ownership, unlock new insights with pervasive data discovery across        the organization and create business solutions fast—on your terms.Who Should Read This Book?        This book is for anyone who has an interest in SQL Server 2012 and wants to understand its        c apabilities. In a book of this size, we cannot cover every feature that distinguishes SQL Server        from other databases or previous versions, and consequently we assume you have some familiarity        with SQL Server already. You might be a database administrator (DBA), an application developer, a        business intelligence solution architect, a power user, or a technical decision maker. Regardless of        your role, we hope you can use this book to discover the features in SQL Server 2012 that are most        beneficial to you.     Assumptions        This book expects that you have at least a minimal understanding of SQL Server from both a database        administrator’s perspective and business-intelligence perspective. This also includes an understanding        of the components associated with the product, such as the Database Engine, Analysis Services,        R eporting Services, and Integration Services.Who Should Not Read This Book        As mentioned earlier, the purpose of this book is to provide the reader with a high-level preview        of the capabilities and features associated with SQL Server 2012. This book is not intended to be        a s tep-by-step comprehensive guide. Moreover, there have been over 250 new improvements        associated with the product; therefore, the book may not cover every improvement in its entirety.                                                                                                                                             xv
How Is This Book Organized?        SQL Server 2012, like its predecessors, is more than a database engine. It is a collection of        c omponents you can implement either separately or as a group to form a scalable, cloud-ready        information platform. In broad terms, this cloud-ready information platform consists of two        categories: those that help you manage data and those that help you deliver business intelligence (BI).        Accordingly, we divided this book into two parts to focus on the new capabilities for each of these        areas.            Part 1, “Database Administration,” is written with the database administrator (DBA) in mind and        introduces readers to the numerous innovations in SQL Server 2012. Chapter 1, “SQL Server 2012        Editions and Engine Enhancements,” discusses the key enhancements affiliated with availability, scal-        ability, performance, manageability, security, and programmability. It then outlines the different SQL        Server 2012 editions, hardware and software requirements and installation, upgrade, and migration        strategies available. In Chapter 2, “High-Availability and Disaster-Recovery Enhancements” readers        learn about the new AlwaysOn features in SQL Server 2012—specifically, AlwaysOn Availability Groups        and how they can be used to achieve a high level of confidence in your data and related capabilities.        Chapter 3, “Performance and Scalability,” introduces a new index type called columnstore and explains        how it can be leveraged to significantly accelerate data-warehousing workloads and other queries        that are similar in nature. Chapter 4, “Security Enhancements,” covers the new security enhancements        associated with the product, such as security manageability improvements and audit and authenti-        cation enhancements. Finally, Chapter 5, “Programmability and Beyond-Relational Enhancements,”        discusses the new beyond-relational enhancements positively impacting unstructured data, including        refinements to existing technology features such as full-text search, spatial data, and FILESTREAM, as        well as brand new capabilities like FileTables and statistical semantic search.            Part 2, “Business Intelligence Development,” is written for readers who need to understand how        SQL Server 2012 can help them more easily perform data integration, data quality improvements,        master data management, data analysis, and reporting tasks. Chapter 6, “Integration Services,”        explores the comprehensive changes in this release affecting development, deployment, and admin-        istration of Integration Services packages. In Chapter 7, “Data Quality Services,” readers learn about        the newest BI component available in SQL Server 2012 for centralizing data-quality activities, includ-        ing how to store data-quality rules in a knowledge base and how to automate the discovery of rules.        Chapter 8, “Master Data Services,” reviews the improved interface of this feature that simplifies the        implementation, workflows, and administration of master data management. Chapter 9, “Analysis        Services and PowerPivot,” introduces the new tabular server mode, shows how to develop tabular        models, and describes enhancements to the Analysis Services platform and PowerPivot for Excel        capabilities. Last, Chapter 10, “Reporting Services,” covers the improvements in SharePoint integration        and details the self-service capabilities available with the new ad hoc reporting tool, Power View.xvi	 Introduction
Conventions and Features in This Book        This book presents information using the following conventions, which are designed to make the        information more readable and easy to follow:            ■■ Each exercise consists of a series of tasks, presented as numbered steps (1, 2, and so on) listing                 each action you must take to complete the exercise.            ■■ Boxed elements with labels such as “Note” provide additional information or alternative                 methods for completing a step successfully.            ■■ Text that you type (apart from code blocks) appears in bold.            ■■ Transact-SQL code is used to help you further understand a specific example.Pre-Release Software        To help you get familiar with SQL Server 2012 as early as possible after its release, we wrote this book        using examples that work with the Release Candidate 0 (RC0) version of the product. Consequently,        the final version might include new features, and features we discuss might change or disappear.        Refer to the “What’s New in SQL Server 2012” topic in Books Online for SQL Server at        http://msdn.microsoft.com/en-us/library/ms130214%28v=sql.110%29.aspx for the most up-to-date        list of changes to the product. Be aware that you might also notice some minor differences between        the RTM version of the product and the descriptions and screen shots that we provide.Acknowledgments        First, I would like to thank my colleagues at Microsoft Press and O’Reilly Media for providing me        with another great authorship opportunity and putting together a stellar product in such a short        period of time. Special thanks goes out to Devon Musgrave, Colin Lyth, Karen Szall, Carol Dillingham,        Steve S agman, Mitch Tulloch, Roger LeBlanc, Christina Yeager, Anne Hamilton, Steve Weiss, and Ken        Jones. The publishing team’s support throughout this engagement is much appreciated.        Second, I would like to thank my immediate family for being very patient and understanding        considering I was absent from their lives on many evenings and weekends while I worked on this        book. I couldn’t have done this title without their love and support.        I would also like to acknowledge Shirmattie Seenarine for assisting me on this title. Shirmattie’s hard        work, contributions, edits, and rewrites are much appreciated. And to my author partner, Stacia        M isner, I want to thank you for once again doing an excellent job on the business intelligence part of        this book.        Finally, this book would not have been possible without support from my colleagues on the SQL        Server team who provided introductions, strategic technology guidance, technical reviews, and edits.        I would like to thank the following people: Tiffany Wissner, Quentin Clark, Joanne Hodgins, Justin	  Introduction	  xvii
Erickson, Santosh Balasubramanian, Gopal Ashok, Goden Yao, Jack Richins, Susan Price, Michael Rys,        Srini Acharya, Darmadi Komo, and Luis Daniel Soto Maldonado.                                                                                                                              –Ross Mistry        I, too, want to thank the entire team that has supported Ross and me through yet another publication.        It is a pleasure to collaborate again with all of you and with Ross. I look forward to future opportuni-        ties should they arise!        Each of the product teams has been very helpful, and I am grateful for their assistance and        a ppreciative of the products they have developed. In particular, I wish to thank Matt Masson,        Akshai Mirchandani, Marius Dumitru, and Thierry D’hers for their amazing responsiveness to my        questions because I know they are very busy people.        This is the first book for which my husband did not have the opportunity to demonstrate his        s eemingly unending supply of patience with me because he was busy in another state preparing a        new home for us. Therefore, I can’t really thank him for his support of this book in the typical sense,        but I can thank him for ensuring that I will have a comfortable place in which to work and write later        this year. He gives me great peace of mind and fuels my anticipation of things to come!                                                                                                                            –Stacia MisnerErrata & Book Support        We’ve made every effort to ensure the accuracy of this book and its companion content. Any        errors that have been reported since this book was published are listed on our Microsoft Press site at        oreilly.com:                 http://go.microsoft.com/FWLink/?Linkid=245673            If you find an error that is not already listed, you can report it to us through the same page. If you        need additional support, email Microsoft Press Book Support at [email protected].            Please note that product support for Microsoft software is not offered through the addresses above.We Want to Hear from You        At Microsoft Press, your satisfaction is our top priority, and your feedback our most valuable asset.        Please tell us what you think of this book at:                 http://www.microsoft.com/learning/booksurvey            The survey is short, and we read every one of your comments and ideas. Thanks in advance for        your input!Stay in Touch        Let’s keep the conversation going! We’re on Twitter: http://twitter.com/MicrosoftPress.xviii	 Introduction
PART 1DatabaseAdministrationCHAPTER 1	  SQL Server 2012 Editions and            Engine Enhancements  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 3CHAPTER 2	            High-Availability and Disaster-RecoveryCHAPTER 3	  Enhancements .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 21CHAPTER 4	CHAPTER 5	  Performance and Scalability .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 41            Security Enhancements .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 57            Programmability and Beyond-Relational            Enhancements .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 73                                                                                                                         1
CHAPTER 1SQL Server 2012 Editions andEngine EnhancementsSQL Server 2012 is Microsoft’s latest cloud-ready information platform. Organizations can use SQL    Server 2012 to efficiently protect, unlock, and scale the power of their data across the desktop,mobile device, datacenter, and either a private or public cloud. Building on the success of the SQLServer 2008 R2 release, SQL Server 2012 has made a strong impact on organizations worldwide withits significant capabilities. It provides organizations with mission-critical performance and availabil-ity, as well as the potential to unlock breakthrough insights with pervasive data discovery across theorganization. Finally, SQL Server 2012 delivers a variety of hybrid solutions you can choose from. Forexample, an organization can develop and deploy applications and database solutions on traditionalnonvirtualized environments, on appliances, and in on-premises private clouds or off-premises publicclouds. Moreover, these solutions can easily integrate with one another, offering a fully integratedhybrid solution. Figure 1-1 illustrates the Cloud Ready Information Platform ecosystem.  Traditional         Hybrid IT               PublicNonvirtualized                                Cloud                       Private        Off-premises cloud                        Cloud                On-premises cloudNonvirtualized  Pooled (Virtualized)  Managed Servicesapplications    Elastic                Self-service          Pooled (Virtualized)                Usage-based           Elastic                                      Self-service                                      Usage-basedFIGURE 1-1  SQL Server 2012, cloud-ready information platform    To prepare readers for SQL Server 2012, this chapter examines the new SQL Server 2012 features,capabilities, and editions from a database administrator’s perspective. It also discusses SQL Server2012 hardware and software requirements and installation strategies.                                                                                                      3
SQL Server 2012 Enhancements for Database Administrators        Now more than ever, organizations require a trusted, cost-effective, and scalable database platform        that offers mission-critical confidence, breakthrough insights, and flexible cloud-based offerings.        These organizations face ever-changing business conditions in the global economy and challenges        such as IT budget constraints, the need to stay competitive by obtaining business insights, and        the ability to use the right information at the right time. In addition, organizations must always be        adjusting because new and important trends are regularly changing the way software is developed        and deployed. Some of these new trends include data explosion (enormous increases in data usage),        consumerization IT, big data (large data sets), and private and public cloud deployments.            Microsoft has made major investments in the SQL Server 2012 product as a whole; however, the        new features and breakthrough capabilities that should interest database administrators (DBAs) are        divided in the chapter into the following categories: Availability, Manageability, Programmability,        Scalability and Performance, and Security. The upcoming sections introduce some of the new features        and capabilities; however, other chapters in this book conduct a deeper explanation of the major        technology investments.     Availability Enhancements        A tremendous amount of high-availability enhancements were added to SQL Server 2012, which is        sure to increase both the confidence organizations have in their databases and the maximum uptime        for those databases. SQL Server 2012 continues to deliver database mirroring, log shipping, and rep-        lication. However, it now also offers a new brand of technologies for achieving both high availability        and disaster recovery known as AlwaysOn. Let’s quickly review the new high-availability enhancement        AlwaysOn:            ■■ AlwaysOn Availability Groups  For DBAs, AlwaysOn Availability Groups is probably the                 most highly anticipated feature related to the Database Engine for DBAs. This new capability                 protects databases and allows for multiple databases to fail over as a single unit. Better data                 redundancy and protection is achieved because the solution supports up to four secondary                 replicas. Of these four secondary replicas, up to two secondaries can be configured as syn-                 chronous secondaries to ensure the copies are up to date. The secondary replicas can reside                 within a datacenter for achieving high availability within a site or across datacenters for disas-                 ter recovery. In addition, AlwaysOn Availability Groups provide a higher return on investment                 because hardware utilization is increased as the secondaries are active, readable, and can be                 leveraged to offload backups, reporting, and ad hoc queries from the primary replica. The                 solution is tightly integrated into SQL Server Management Studio, is straightforward to deploy,                 and supports either shared storage or local storage.                  Figure 1-2 illustrates an organization with a global presence achieving both high availability                  and disaster recovery for mission-critical databases using AlwaysOn Availability Groups. In                  addition, the secondary replicas are being used to offload reporting and backups.4	 PART 1  Database Administration
Replica2 A                Primary                                                                           Datacenter                                                   Reports       A                                                                            A                                                           25%   Replica3                                                     50% 15%                Replica1                                                            70%   Secondary                   Reports             Backups   Datacenter                                              25%  A Primary Replica                     A                 50% 15%                                                   A Secondary Replica       Replica4                               70%         Synchronous Data Movement                                                          Asynchronous Data Movement                        Backups        FIGURE 1-2  AlwaysOn Availability Groups for an organization with a global presence   ■■ AlwaysOn Failover Cluster Instances (FCI)  AlwaysOn Failover Cluster Instances provides        superior instance-level protection using Windows Server Failover Clustering and shared        storage. However, with SQL Server 2012 there are a tremendous number of enhancements to        improve availability and reliability. First, FCI now provides support for multi-subnet failover        clusters. These subnets, where the FCI nodes reside, can be located in the same datacenter        or in geographically dispersed sites. Second, local storage can be leveraged for the TempDB        d atabase. Third, faster startup and recovery times are achieved after a failover transpires.        Finally, improved cluster health-detection policies can be leveraged, offering a stronger and        more flexible failover.   ■■ Support for Windows Server Core  Installing SQL Server 2012 on Windows Server Core        is now supported. Windows Server Core is a scaled-down edition of the Windows operating        system and requires approximately 50 to 60 percent fewer reboots when patching servers.	                       CHAPTER 1  SQL Server 2012 Editions and Engine Enhancements	                     5
This translates to greater SQL Server uptime and increased security. Server Core deployment                 options using Windows Server 2008 R2 SP1 and higher are required. Chapter 2, “High-                 Availability and Disaster-Recovery Options,” discusses deploying SQL Server 2012 on Server                 Core, including the features supported.            ■■ Recovery Advisor  A new visual timeline has been introduced in SQL Server Management                 Studio to simplify the database restore process. As illustrated in Figure 1-3, the scroll bar                 b eneath the timeline can be used to specify backups to restore a database to a point in time.                   FIGURE 1-3  Recovery Advisor visual timeline           Note  For detailed information about the AlwaysOn technologies and other high-           availability enhancements, be sure to read Chapter 2.     Scalability and Performance Enhancements        The SQL Server product group has made sizable investments in improving scalability and        performance associated with the SQL Server Database Engine. Some of the main enhancements that        allow organizations to improve their SQL Server workloads include the following:            ■■ Columnstore Indexes  More and more organizations have a requirement to deliver                 b reakthrough and predictable performance on large data sets to stay competitive. SQL                 Server 2012 introduces a new in-memory, columnstore index built directly in the relational                 engine. Together with advanced query-processing enhancements, these technologies provide                 blazing-fast performance and improve queries associated with data warehouse workloads                 by 10 to 100 times. In some cases, customers have experienced a 400 percent improvement                 in performance. For more information on this new capability for data warehouse workloads,                 review Chapter 3, “Blazing-Fast Query Performance with Columnstore Indexes.”6	 PART 1  Database Administration
■■ Partition Support Increased  To dramatically boost scalability and performance associated        with large tables and data warehouses, SQL Server 2012 now supports up to 15,000 partitions        per table by default. This is a significant increase from the previous version of SQL Server,        which was limited to 1000 partitions by default. This new expanded support also helps enable        large sliding-window scenarios for data warehouse maintenance.   ■■ Online Index Create, Rebuild, and Drop  Many organizations running mission-critical        workloads use online indexing to ensure their business environment does not experience        downtime during routine index maintenance. With SQL Server 2012, indexes containing        varchar(max), nvarchar(max), and varbinary(max) columns can now be created, rebuilt, and        dropped as an online operation. This is vital for organizations that require maximum uptime        and concurrent user activity during index operations.   ■■ Achieve Maximum Scalability with Windows Server 2008 R2  Windows Server 2008 R2        is built to achieve unprecedented workload size, dynamic scalability, and across-the-board        availability and reliability. As a result, SQL Server 2012 can achieve maximum scalability when        running on Windows Server 2008 R2 because it supports up to 256 logical processors and        2 terabytes of memory in a single operating system instance.   Manageability Enhancements   SQL Server deployments are growing more numerous and more common in organizations. This fact   demands that all database administrators be prepared by having the appropriate tools to success-   fully manage their SQL Server infrastructure. Recall that the previous releases of SQL Server included   many new features tailored toward manageability. For example, database administrators could easily   leverage Policy Based Management, Resource Governor, Data Collector, Data-tier applications, and   Utility Control Point. Note that the product group responsible for manageability never stopped   investing in manageability. With SQL Server 2012, they unveiled additional investments in SQL Server   tools and monitoring features. The following list articulates the manageability enhancements in SQL   Server 2012:       ■■ SQL Server Management Studio  With SQL Server 2012, IntelliSense and Transact-SQL            d ebugging have been enhanced to bolster the development experience in SQL Server            Management Studio.       ■■ IntelliSense Enhancements  A completion list will now suggest string matches based on            partial words, whereas in the past it typically made recommendations based on the first            character.       ■■ A new Insert Snippet menu  This new feature is illustrated in Figure 1-4. It offers developers            a categorized list of snippets to choose from to streamline code. The snippet picket tooltip can            be launched by pressing CTRL+K, pressing CTRL+X, or selecting it from the Edit menu.       ■■ Transact-SQL Debugger  This feature introduces the potential to debug Transact-SQL            scripts on instances of SQL Server 2005 Service Pack 2 (SP2) or later and enhances breakpoint            functionality.	  CHAPTER 1  SQL Server 2012 Editions and Engine Enhancements	  7
FIGURE 1-4  Leveraging the Transact-SQL code snippet template as a starting point when writing new                   Transact-SQL statements in the SQL Server Database Engine Query Editor            ■■ Resource Governor Enhancements  Many organizations currently leverage Resource                 Governor to gain predictable performance and improve their management of SQL Server                 workloads and resources by implementing limits on resource consumption based on incoming                 requests. In the past few years, customers have also been requesting additional improvements                 to the Resource Governor feature. Customers wanted to increase the maximum number of                 resource pools and support large-scale, multitenant database solutions with a higher level of                 isolation between workloads. They also wanted predictable chargeback and vertical isolation                 of machine resources.                  The SQL Server product group responsible for the Resource Governor feature introduced                  new capabilities to address the requests of its customers and the SQL Server community. To                  begin, support for larger scale multitenancy can now be achieved on a single instance of SQL                  Server because the number of resource pools Resource Governor supports increased from 20                  to 64. In addition, a maximum cap for CPU usage has been introduced to enable predictable                  chargeback and isolation on the CPU. Finally, resource pools can be affinitized to an individual                  schedule or a group of schedules for vertical isolation of machine resources.                  A new Dynamic Management View (DMV) called sys.dm_resource_governor_resource_pool_                  affinity improves database administrators’ success in tracking resource pool affinity.                  Let’s review an example of some of the new Resource Governor features in action. In the                  following example, resource pool Pool25 is altered to be affinitized to six schedulers (8, 12,                  13, 14, 15, and 16), and it’s guaranteed a minimum 5 percent of the CPU capacity of those                  schedulers. It can receive no more than 80 percent of the capacity of those schedulers. When                  there is contention for CPU b andwidth, the maximum average CPU bandwidth that will be                  allocated is 40 percent.8	 PART 1  Database Administration
ALTER RESOURCE POOL Pool25	         WITH(              MIN_CPU_PERCENT = 5,              MAX_CPU_PERCENT = 40,              CAP_CPU_PERCENT = 80,             AFFINITY SCHEDULER = (8, 12 TO 16),              MIN_MEMORY_PERCENT = 5,              MAX_MEMORY_PERCENT = 15,         );   ■■ Contained Databases  Authentication associated with database portability was a challenge        in the previous versions of SQL Server. This was the result of users in a database being associ-        ated with logins on the source instance of SQL Server. If the database ever moved to another        instance of SQL Server, the risk was that the login might not exist. With the introduction of        contained databases in SQL Server 2012, users are authenticated directly into a user data-        base without the dependency of logins in the Database Engine. This feature facilitates better        portability of user databases among servers because contained databases have no external        dependencies.   ■■ Tight Integration with SQL Azure  A new Deploy Database To SQL Azure wizard, pictured        in Figure 1-5, is integrated in the SQL Server Database Engine to help organizations deploy        an on-premise database to SQL Azure. Furthermore, new scenarios can be enabled with SQL        Azure Data Sync, which is a cloud service that provides bidirectional data synchronization        between databases across the datacenter and cloud.   FIGURE 1-5  Deploying a database to SQL Azure with the Deploy Database Wizard	  CHAPTER 1  SQL Server 2012 Editions and Engine Enhancements	                                           9
■■ Startup Options Relocated Within SQL Server Configuration Manager, a new Startup         Parameters tab was introduced for better manageability of the parameters required for         startup. A DBA can now easily specify startup parameters compared to previous versions of         SQL Server, which at times was a tedious task. The Startup Parameters tab can be invoked         by right-clicking a SQL Server instance name in SQL Server Configuration Manager and then         selecting Properties.    ■■ Data-Tier Application (DAC) Enhancements  SQL Server 2008 R2 introduced the concept         of data-tier applications. A data-tier application is a single unit of deployment containing         all of the database’s schema, dependent objects, and deployment requirements used by         an application. SQL Server 2012 introduces a few enhancements to DAC. With the new SQL         Server, DAC upgrades are performed in an in-place fashion compared to the previous side-by-         side upgrade process we’ve all grown accustomed to over the years. Moreover, DACs can be         deployed, imported and exported more easily across premises and public cloud environments,         such as SQL Azure. Finally, data-tier applications now support many more objects compared to         the previous SQL Server release.Security EnhancementsIt has been approximately 10 years since Microsoft initiated its trustworthy computing initiative. Sincethen, SQL Server has had the best track record with the least amount of vulnerabilities and exposuresamong the major database players in the industry. The graph shown in Figure 1-6 is from the NationalInstitute of Standards and Technology (Source: ITIC 2011: SQL Server Delivers Industry-LeadingSecurity). It shows common vulnerabilities and exposures reported from January 2002 to June 2010.350300250200150100500                   DB2              MySQL  SQL Server            OracleFIGURE 1-6  Common vulnerabilities and exposures reported to NIST from January 2002 to January 2010    With SQL Server 2012, the product continues to expand on this solid foundation to deliverenhanced security and compliance within the database platform. For detailed informa-tion of all the security enhancements associated with the Database Engine, review Chapter 4,10	 PART 1  Database Administration
“ Security E nhancements.” For now, here is a snapshot of some of the new enterprise-ready security   capabilities and controls that enable organizations to meet strict compliance policies and regulations:       ■■ User-defined server roles for easier separation of duties       ■■ Audit enhancements to improve compliance and resiliency       ■■ Simplified security management, with a default schema for groups       ■■ Contained Database Authentication, which provides database authentication that uses            self-contained access information without the need for server logins       ■■ SharePoint and Active Directory security models for higher data security in end-user reports   Programmability Enhancements   There has also been a tremendous investment in SQL Server 2012 regarding programmability.   Specifically, there is support for “beyond relational” elements such as XML, Spatial, Documents, Digital   Media, Scientific Records, factoids, and other unstructured data types. Why such investments?       Organizations have demanded they be given a way to reduce the costs associated with managing   both structured and nonstructured data. They wanted to simplify the development of applications   over all data, and they wanted the management and search capabilities for all data improved. Take a   minute to review some of the SQL Server 2012 investments that positively impact programmability.   For more information associated with programmability and beyond relational elements, please review   Chapter 5, “Programmability and Beyond-Relational Enhancements.”       ■■ FileTable  Applications typically store data within a relational database engine; however, a            myriad of applications also maintain the data in unstructured formats, such as documents,            media files, and XML. Unstructured data usually resides on a file server and not directly in            a relational database such as SQL Server. As you can imagine, it becomes challenging for            organizations to not only manage their structured and unstructured data across these dis-            parate systems, but to also keep them in sync. FileTable, a new capability in SQL Server 2012,            addresses these challenges. It builds on FILESTREAM technology that was first introduced            with SQL Server 2008. FileTable offers organizations Windows file namespace support and            a pplication compatibility with the file data stored in SQL Server. As an added bonus, when            a pplications are allowed to integrate storage and data management within SQL Server, full-            text and semantic search is achievable over unstructured and structured data.       ■■ Statistical Semantic Search  By introducing new semantic search functionality, SQL Server            2012 allows organizations to achieve deeper insight into unstructured data stored within the            Database Engine. Three new Transact-SQL rowset functions were introduced to query not only            the words in a document, but also the meaning of the document.       ■■ Full-Text Search Enhancements  Full-text search in SQL Server 2012 offers better query            performance and scale. It also introduces property-scoped searching functionality, which            a llows organizations the ability to search properties such as Author and Title without the need	  CHAPTER 1  SQL Server 2012 Editions and Engine Enhancements	  11
for developers to maintain file properties in a separate database. Developers can now also                 benefit by customizing proximity search by using the new NEAR operator that allows them to                 specify the maximum number of non-search terms that separate the first and last search terms                 in a match.            ■■ Extended Events Enhancements  This new user interface was introduced to help simplify                 the management associated with extended events. New extended events for functional and                 performance troubleshooting were also introduced in SQL Server 2012.SQL Server 2012 Editions        SQL Server 2012 is obtainable in three main editions. All three editions have tighter alignment than        their predecessors and were designed to meet the needs of almost any customer with an increased        investment in business intelligence. Each edition comes in a 32-bit and 64-bit version. The main        editions, as shown in Figure 1-7, are the following:            ■■ Standard edition            ■■ Business Intelligence edition            ■■ Enterprise editionEnterprise  Standard                                           Business                                         Intelligence                   FIGURE 1-7  The main editions of SQL Server 2012     Enterprise Edition        The Enterprise edition of SQL Server 2012 is the uppermost SKU; it is meant to meet the highest        demands of large-scale datacenters and data warehouse solutions by providing mission-critical        performance and availability for Tier 1 applications, the ability to deploy private-cloud, highly        v irtualized environments, and large centralized or external-facing business-intelligence solutions.12	 PART 1  Database Administration
Note  The Datacenter edition included in the previous version of SQL Server is now retired.   All Datacenter capabilities are included in the Enterprise edition of SQL Server 2012.   The Enterprise edition features include the following:   ■■ Maximum number of cores is subject to the operating system being used   ■■ Advanced high availability can be achieved with AlwaysOn   ■■ Unlimited virtualization if the organization has software insurance   ■■ Support for the new columnstore indexing feature   ■■ Advanced auditing   ■■ Transparent Data Encryption (TDE)   ■■ Compression and partitioning   ■■ Includes all of the Business Intelligence edition’s features and capabilities:   ■■ Reporting   ■■ Analytics   ■■ Multidimensional BI semantic model   ■■ Data-quality services   ■■ Master data services   ■■ In-memory tabular BI semantic model   ■■ Self-service business intelligence   Standard Edition   The Standard edition is a data-management platform tailored toward departmental databases and   limited business-intelligence applications that are typically appropriate for medium-class solutions,   smaller organizations, or departmental solutions. It does not include all the bells and whistles of the   Enterprise and Business Intelligence editions; however, it continues to offer best-in-class manage-   ability and ease of use. Compared to the Enterprise and Business Intelligence editions, the Standard   edition supports up to 16 cores and includes the following:       ■■ Spatial support       ■■ FileTable       ■■ Policy-based management	  CHAPTER 1  SQL Server 2012 Editions and Engine Enhancements	                                 13
■■ Corporate business intelligence            ■■ Reporting            ■■ Analytics            ■■ Multidimensional BI semantic model            ■■ Basic high availability can be achieved with AlwaysOn 2-Node Failover Clustering            ■■ Up to four processors, up to 64 GB of RAM, one virtual machine, and two failover clustering                 nodes     Business Intelligence Edition        For the first time in the history of SQL Server, a Business Intelligence edition is offered. The Business        Intelligence edition offers organizations the full suite of powerful BI capabilities such as scalable        reporting and analytics, Power View, and PowerPivot. It is tailored toward organizations trying to        achieve corporate business intelligence and self-service capabilities, but that do not require the full        online transactional processing (OLTP) performance and scalability found in the Enterprise edition of        SQL Server 2012. Here is a high-level list of what the new Business Intelligence edition includes:            ■■ Up to a maximum of 16 cores for the Database Engine            ■■ Maximum number of cores for business intelligence processing            ■■ All of the features found in the Standard edition            ■■ Corporate business intelligence            ■■ Reporting            ■■ Analytics            ■■ Multidimensional BI semantic model            ■■ Self-service capabilities            ■■ Alerting            ■■ Power View            ■■ PowerPivot for SharePoint Server            ■■ Enterprise data management            ■■ Data quality services            ■■ Master data services            ■■ In-memory tabular BI semantic model            ■■ Basic high availability can be achieved with AlwaysOn 2-Node Failover Clustering14	 PART 1  Database Administration
Specialized Editions        Above and beyond the three main editions discussed earlier, SQL Server 2012 continues to deliver        specialized editions for organizations that have a unique set of requirements. Some examples include        the following:            ■■ Developer The Developer edition includes all of the features and functionality found in the                 Enterprise edition; however, it is meant strictly for the purpose of development, testing, and                 demonstration. Note that you can transition a SQL Server Developer installation directly into                 production by upgrading it to SQL Server 2012 Enterprise without reinstallation.            ■■ Web  Available at a much more affordable price than the Enterprise and Standard editions,                 SQL Server 2012 Web is focused on service providers hosting Internet-facing web services                 environments. Unlike the Express edition, this edition doesn’t have database size restrictions,                 it supports four processors, and supports up to 64 GB of memory. SQL Server 2012 Web does                 not offer the same premium features found in Enterprise and Standard editions, but it still                 remains the ideal platform for hosting websites and web applications.            ■■ Express  This free edition is the best entry-level alternative for independent software                 vendors, nonprofessional developers, and hobbyists building client applications. Individuals                 learning about databases or learning how to build client applications will find that this edi-                 tion meets all their needs. This edition, in a nutshell, is limited to one processor and 1 GB of                 memory, and it can have a maximum database size of 10 GB. Also, Express is integrated with                 Microsoft Visual Studio.           Note  Review “Features Supported by the Editions of SQL Server 2012” at           http://msdn.microsoft.com/en-us/library/cc645993(v=sql.110).aspx and           http://www.microsoft.com/sqlserver/en/us/future-editions/sql2012-editions.aspx for a           complete comparison of the key capabilities of the different editions of SQL Server 2012.SQL Server 2012 Licensing Overview        The licensing models affiliated with SQL Server 2012 have been both simplified to better align to        customer solutions and optimized for virtualization and cloud deployments. Organizations should        process knowledge of the information that follows. With SQL Server 2012, the licensing for comput-        ing power is core-based and the Business Intelligence and Standard editions are available under        the Server + Client Access License (CAL) model. In addition, organizations can save on cloud-based        computing costs by licensing individual database virtual machines. Because each customer environ-        ment is unique, we will not have the opportunity to provide an overview of how the license changes        affect your environment. For more information on the licensing changes and how they impact your        o rganization, please contact your Microsoft representative or partner.	  CHAPTER 1  SQL Server 2012 Editions and Engine Enhancements	  15
Review the following link for more information on SQL Server 2012 licensing:http://www.microsoft.com/sqlserver/en/us/future-editions/sql2012-licensing.aspx.Hardware and Software RequirementsThe recommended hardware and software requirements for SQL Server 2012 vary depending on thecomponent being installed, the database workload, and the type of processor class that will be used.Let’s turn our attention to Tables 1-1 and 1-2 to understand the hardware and software requirementsfor SQL Server 2012.    Because SQL Server 2012 supports many processor types and operating systems, Table 1-1 c oversonly the hardware requirements for a typical SQL Server 2012 installation. Typical installationsinclude SQL Server 2012 Standard and Enterprise running on Windows Server 2008 R2 operatingsystems. Readers needing information for other scenarios should reference “Hardware and SoftwareR equirements for Installing SQL Server 2012” at http://msdn.microsoft.com/en-us/library/ms143506(v=SQL.110).aspx.TABLE 1-1  Hardware RequirementsHardware Component                   RequirementsProcessor                            Processor type: (64-bit) x64                                     Minimum: AMD Opteron, AMD Athlon 64, Intel Xeon with Intel EM64T                                     support, Intel Pentium IV with EM64T support                                     Processor speed: minimum 1.4 GHz; 2.0 GHz or faster recommended                                     Processor type: (32-bit)                                     Intel Pentium III-compatible processor or faster                                     Processor speed: minimum 1.0 GHz; 2.0 GHz or faster recommendedMemory (RAM)                         Minimum: 1 GB                                     Recommended: 4 GB or more                                     Maximum: Operating system maximumDisk Space                           Disk space requirements will vary depending on the components you                                     install.                                     Database Engine: 811 MB                                     Analysis Services: 345 MB                                     Reporting Services: 304 MB                                     Integration Services: 591 MB                                     Client components: 1823 MBTABLE 1-2  Software RequirementsSoftware Component  RequirementsOperating system    Windows Server 2008 R2 SP1 64-bit Datacenter, Enterprise, Standard or                    Web edition                    or                    Windows Server 2008 SP2 64-bit Datacenter, Enterprise, Standard or Web                    edition.NET Framework      Microsoft .NET Framework 3.5 SP1                    and                    Microsoft .NET Framework 4.016	 PART 1  Database Administration
Software Component            Requirements   Windows PowerShell   SQL Server support tools and  Windows PowerShell 2.0   software                                 SQL Server 2012 - SQL Server Native Client   Internet Explorer             SQL Server 2012 - SQL Server Setup Support Files   Virtualization                Minimum: Windows Installer 4.5                                 Minimum: Windows Internet Explorer 7 or later version                                 Windows Server 2008 SP2 running Hyper-V role                                 or                                 Windows Server 2008 R2 SP1 running Hyper-V role   Note  The server hardware has supported both 32-bit and 64-bit processors for several   years; however, Windows Server 2008 R2 is 64-bit only. Take this into serious consideration   when planning SQL Server 2012 deployments.Installation, Upgrade, and Migration Strategies        Like its predecessors, SQL Server 2012 is available in both 32-bit and 64-bit editions. Both can be        installed with either the SQL Server Installation Wizard through a command prompt or with Sysprep        for automated deployments with minimal administrator intervention. As mentioned earlier in the        chapter, SQL Server 2012 can now be installed on the Server Core, which is an installation option of        Windows Server 2008 R2 SP1 or later. Finally, database administrators also have the option to upgrade        an existing installation of SQL Server or conduct a side-by-side migration when installing SQL Server        2012. The following sections elaborate on the different strategies.     The In-Place Upgrade        An in-place upgrade is the upgrade of an existing SQL Server installation to SQL Server 2012.        When an in-place upgrade is conducted, the SQL Server 2012 setup program replaces the previous        SQL Server binaries with the new SQL Server 2012 binaries on the existing machine. SQL Server data is        automatically converted from the previous version to SQL Server 2012. This means data does not have        to be copied or migrated. In the example in Figure 1-8, a database administrator is conducting an        in-place upgrade on a SQL Server 2008 instance running on Server 1. When the upgrade is complete,        Server 1 still exists, but the SQL Server 2008 instance and all of its data is upgraded to SQL Server 2012.           Note  SQL Server 2005 with SP4, SQL Server 2008 with SP2, and SQL Server 2008 R2 with           SP1 are all supported for an in-place upgrade to SQL Server 2012. Unfortunately, earlier           versions such as SQL Server 2000, SQL Server 7.0, and SQL Server 6.5 cannot be upgraded           to SQL Server 2012.	                                CHAPTER 1  SQL Server 2012 Editions and Engine Enhancements	   17
Pre-Migration                        Post-Migration                 Upgrade     Server 1                             Server 1SQL Server 2008                      SQL Server 2012FIGURE 1-8  An in-place upgrade from SQL Server 2008 to SQL Server 2012    Review the following link for a detailed list of upgrades supported from earlier versions of SQLServer to SQL Server 2012: http://msdn.microsoft.com/en-us/library/ms143393(SQL.110).aspx.In-Place Upgrade Pros and ConsThe in-place upgrade strategy is usually easier and considered less risky than the side-by-side migra-tion strategy. Upgrading is fairly fast, and additional hardware is not required. Because the names ofthe server and instances do not change during an upgrade process, applications still point to the oldinstances. As a result, this strategy is less time consuming because there is no need to make changesto application connection strings.    The disadvantage of an in-place upgrade is there is less granular control over the upgrade process.For example, when running multiple databases or components, a database administrator does nothave the flexibility to choose individual items for upgrade. Instead, all databases and components areupgraded to SQL Server 2012 at the same time. In addition, the instance remains offline during thein-place upgrade. This means if a mission-critical database or application or an important line-of-business application is running, a planned outage is required. Furthermore, if a disaster transpiresduring the upgrade, the rollback strategy can be a complex and time-consuming affair. A databaseadministrator might have to install the operating system from scratch, install SQL Server, and restoreall of the SQL Server data.SQL Server 2012 High-Level In-Place StrategyThe high-level in-place upgrade strategy for upgrading to SQL Server 2012 consists of the followingsteps:    1.	 Ensure the instance of SQL Server that will be upgraded meets the hardware and software          requirements for SQL Server 2012.    2.	 Review the deprecated and discontinued features in SQL Server 2012. Refer to “Deprecated          Database Engine Features in SQL Server 2012” at http://technet.microsoft.com/en-us/library          /ms143729(v=sql.110).aspx for more information.18	 PART 1  Database Administration
3.	 Ensure the version and edition of SQL Server that will be upgraded is supported. To review             all the upgrade scenarios supported for SQL Server 2012, see “Supported Version and Edition             Upgrades” at http://msdn.microsoft.com/en-us/library/ms143393(SQL.110).aspx.       4.	 Run the SQL Server Upgrade Advisor for SQL Server 2012. The Upgrade Advisor is a tool             included with SQL Server 2012, or it can be downloaded directly from the Microsoft website. It             analyzes the installed components on the SQL Server instance you plan to upgrade to ensure             the system supports SQL Server 2012. The Upgrade Advisor generates a report identifying             anomalies that require fixing or attention before the upgrade can begin.       5.	 Install the SQL Server 2012 prerequisites.       6.	 Begin the upgrade to SQL Server 2012 by running Setup.   Side-by-Side Migration   The term “side-by-side migration” describes the deployment of a brand-new SQL Server 2012   instance alongside a legacy SQL Server instance. When the SQL Server 2012 installation is complete, a   database administrator migrates data from the legacy SQL Server database platform to the new SQL   Server 2012 database platform. Side-by-side migration is depicted in Figure 1-9.      Note  You can conduct a side-by-side migration to SQL Server 2012 by using the same      server. The side-by-side method can also be used to upgrade to SQL Server 2012 on a      single server.   Pre-Migration                              Post-Migration                                   Migration       Server 1    Data is migrated from                                              SQL Server 2008     SQL Server 2008        Server 1                                                     on Server 1   SQL Server 2008                                                          to                                                                  SQL Server 2012                                                                     on Server 2                                                                       Server 2                                                                 SQL Server 2012   FIGURE 1-9  Side-by-side migration from SQL Server 2008 to SQL Server 2012	                                             CHAPTER 1  SQL Server 2012 Editions and Engine Enhancements	  19
Side-by-Side Migration Pros and Cons        The greatest benefit of a side-by-side migration over an in-place upgrade is the opportunity to build        out a new database infrastructure on SQL Server 2012 and avoid potential migration issues that can        occur with an in-place upgrade. The side-by-side migration also provides more granular control        over the upgrade process because you can migrate databases and components independent of one        another. In addition, the legacy instance remains online during the migration process. All of these        advantages result in a more powerful server. Moreover, when two instances are running in parallel,        additional testing and verification can be conducted. Performing a rollback is also easy if a problem        arises during the migration.            However, there are disadvantages to the side-by-side strategy. Additional hardware might need to        be purchased. Applications might also need to be directed to the new SQL Server 2012 instance, and        it might not be a best practice for very large databases because of the duplicate amount of storage        required during the migration process.      SQL Server 2012 High-Level, Side-by-Side Strategy        The high-level, side-by-side migration strategy for upgrading to SQL Server 2012 consists of the        f ollowing steps:            1.	 Ensure the instance of SQL Server you plan to migrate meets the hardware and software                  requirements for SQL Server 2012.            2.	 Review the deprecated and discontinued features in SQL Server 2012 by referring to                  “Deprecated Database Engine Features in SQL Server 2012” at http://technet.microsoft.com                  /en-us/library/ms143729(v=sql.110).aspx.            3.	 Although a legacy instance will not be upgraded to SQL Server 2012, it is still beneficial to                  run the SQL Server 2012 Upgrade Advisor to ensure the data being migrated to the new SQL                  Server 2012 is supported and there is no possibility of a break occurring after migration.            4.	 Procure the hardware, and install your operating system of choice. Windows Server 2012 is                  recommended.            5.	 Install the SQL Server 2012 prerequisites and desired components.            6.	 Migrate objects from the legacy SQL Server to the new SQL Server 2012 database platform.            7.	 Point applications to the new SQL Server 2012 database platform.            8.	 Decommission legacy servers after the migration is complete.20	 PART 1  Database Administration
CHAPTER 2High-Availability and Disaster-Recovery Enhancements  Microsoft SQL Server 2012 delivers significant enhancements to well-known, critical capabilities               such as high availability (HA) and disaster recovery. These enhancements promise to assist        organizations in achieving their highest level of confidence to date in their server environments.        Server Core support, breakthrough features such as AlwaysOn Availability Groups and active        secondaries, and key improvements to features such as failover clustering are improvements that        provide organizations a range of accommodating options to achieve maximum application avail-        ability and data protection for SQL Server instances and databases within a datacenter and across        datacenters.            This chapter’s goal is to bring readers up to date with the high-availability and disaster-recovery        capabilities that are fully integrated into SQL Server 2012 as a result of Microsoft’s heavy investment        in AlwaysOn.SQL Server AlwaysOn: A Flexible and Integrated Solution        Every organization’s success and service reputation is built on ensuring that its data is always        accessible and protected. In the IT world, this means delivering a product that achieves the highest        level of availability and disaster recovery while minimizing data loss and downtime. With the        p revious versions of SQL Server, organizations achieved high availability and disaster recovery by        using technologies such as failover clustering, database mirroring, log shipping, and peer-to-peer        replication. Although organizations achieved great success with these solutions, they were tasked with        combining these native SQL Server technologies to achieve their business requirements related to        their Recovery Point Objective (RPO) and Recovery Time Objective (RTO).            Figure 2-1 illustrates a common high-availability and disaster-recovery strategy used by        o rganizations with the previous versions of SQL Server. This strategy includes failover clustering to        protect SQL Server instances within each datacenter, combined with asynchronous database mirroring        to provide disaster-recovery capabilities for mission-critical databases.                                                                                                                                            21
Primary                                                            DatacenterSecondaryDatacenter                                                            SQL Server 2008 R2                                                            Failover ClusterSQL Server 2008 R2Failover Cluster                                     Asynchronous Data Movement                                     with Database MirroringFIGURE 2-1  Achieving high availability and disaster recovery by combining failover clustering with databasem irroring in SQL Server 2008 R2    Likewise, for organizations that either required more than one secondary datacenter or that didnot have shared storage, their high-availability and disaster-recovery deployment incorporatedsynchronous database mirroring with a witness within the primary datacenter combined with logshipping for moving data to multiple locations. This deployment strategy is illustrated in Figure 2-2.                                                                   Primary                                                                 Datacenter            Log ShippingDisaster Recover                              Log Shipping                           WitnessDatacenter 1                    Disaster Recover                        SQL Server 2008 R2                    Datacenter 2                            Database MirroringSQL Server 2008 R2                    SQL Server 2008 R2                                                             Log Shipping                                                             Synchronous Data Movement                                                             with Database MirroringFIGURE 2-2  Achieving high availability and disaster recovery with database mirroring combined with log shippingin SQL Server 2008 R222	 PART 1  Database Administration
Figures 2-1 and 2-2 both reveal successful solutions for achieving high availability and disaster        recovery. However, these solutions had some limitations, which warranted making changes. In addi-        tion, with organizations constantly evolving, it was only a matter of time until they voiced their own        concerns and sent out a request for more options and changes.            One concern for many organizations was regarding database mirroring. Database mirroring is        a great way to protect databases; however, the solution is a one-to-one mapping, making multiple        secondaries unattainable. When confronted with this situation, many organizations reverted to log        shipping as a replacement for database mirroring because it supports multiple secondaries. Unfortu-        nately, organizations encountered limitations with log shipping because it did not provide zero data        loss or automatic failover capability. Concerns were also experienced by organizations working with        failover clustering because they felt that their shared-storage devices, such as a storage area net-        work (SAN), could be a single point of failure. Similarly, many organizations thought that from a cost        perspective their investments were not being used to their fullest potential. For example, the passive        servers in many of these solutions were idle. Finally, many organizations wanted to offload reporting        and maintenance tasks from the primary database servers, which was not an easy task to achieve.            SQL Server has evolved to answer many of these concerns, and this includes an integrated solution        called AlwaysOn. AlwaysOn Availability Groups and AlwaysOn Failover Cluster Instances are new        features, introduced in SQL Server 2012, that are rich with options and promise the highest level of        availability and disaster recovery to its customers. At a high level, AlwaysOn Availability Groups is        used for database protection and offers multidatabase failover, multiple secondaries, active second-        aries, and integrated HA management. On the other hand, AlwaysOn Failover Cluster Instances is a        feature tailored to instance-level protection, multisite clustering, and consolidation, while consistently        providing flexible failover polices and improved diagnostics.AlwaysOn Availability Groups        AlwaysOn Availability Groups provides an enterprise-level alternative to database mirroring, and it        gives organizations the ability to automatically or manually fail over a group of databases as a single        unit, with support for up to four secondaries. The solution provides zero-data-loss protection and is        flexible. It can be deployed on local storage or shared storage, and it supports both synchronous and        asynchronous data movement. The application failover is very fast, it supports automatic page repair,        and the secondary replicas can be leveraged to offload reporting and a number of maintenance        tasks, such as backups.            Take a look at Figure 2-3, which illustrates an AlwaysOn Availability Groups deployment strategy        that includes one primary replica and three secondary replicas.	  CHAPTER 2  High-Availability and Disaster-Recovery Enhancements	  23
Secondary                                                           PrimaryDatacenter                                                        Datacenter                                     SQL Server                                     Replica2       A                                     Reports            A               SQL Server                                              25%       Replica3          A                                       50% 15%      SQL Server                                                                           Replica1                                               70%SQL Server      Reports                                          Backups             A          25%                  50% 15%                         70%Replica4                             A Primary Replica                Backups              A Secondary Replica                                            Synchronous Data Movement                                            Asynchronous Data MovementFIGURE 2-3  Achieving high availability and disaster recovery with AlwaysOn Availability Groups    In this figure, synchronous data movement is used to provide high availability within the primarydatacenter and asynchronous data movement is used to provide disaster recovery. Moreover, second-ary replica 3 and replica 4 are employed to offload reports and backups from the primary replica.    It is now time to take a deeper dive into AlwaysOn Availability Groups through a review of the newconcepts and terminology associated with this breakthrough capability.Understanding Concepts and TerminologyAvailability groups are built on top of Windows Failover Clustering and support both shared andn onshared storage. Depending on an organization’s RPO and RTO requirements, availability groupscan use either an asynchronous-commit availability mode or a synchronous-commit availabilitymode to move data between primary and secondary replicas. Availability groups include built-incompression and encryption as well as support for file-stream replication and auto page repair.Failover between replicas is either automatic or manual.    When deploying AlwaysOn Availability Groups, your first step is to deploy a Windows FailoverCluster. This is completed by using the Failover Cluster Manager Snap-in within Windows Server 2008R2. Once the Windows Failover Cluster is formed, the remainder of the Availability Groups configura-tions is completed in SQL Server Management Studio. When you use the Availability Groups wizards24	 PART 1  Database Administration
to configure your availability groups, SQL Server Management Studio automatically creates the   a ppropriate services, applications, and resources in Failover Cluster Manager; hence, the deployment   is much easier for database administrators who are not familiar with failover clustering.       Now that the fundamentals of the AlwaysOn Availability Groups have been laid down, the most   natural question that follows is how an organization’s operations are enhanced with this feature.   U nlike database mirroring, which supports only one secondary, AlwaysOn Availability Groups sup-   ports one primary replica and up to four secondary replicas. Availability groups can also contain more   than one availability database. Equally appealing is the fact you can host more than one availabil-   ity group within an implementation. As a result, it is possible to group databases with application   d ependencies together within an availability group and have all the availability databases seamlessly   fail over as a single cohesive unit as depicted in Figure 2-4.   FIGURE 2-4  Dedicated availability groups for Finance and HR availability databases       In addition, as shown in Figure 2-4, there is one primary replica and two secondary replicas with   two availability groups. One of these availability groups is called Finance, and it includes all the   Finance databases; the other availability group is called HR, and it includes all the Human Resources   databases. The Finance availability group can fail over independently of the HR availability group,   and unlike database mirroring, all availability databases within an availability group fail over as a   single unit. Moreover, organizations can improve their IT efficiency, increase performance, and reduce	  CHAPTER 2  High-Availability and Disaster-Recovery Enhancements	  25
total cost of ownership with better resource utilization of secondary/passive hardware because these        secondary replicas can be leveraged for backups and read-only operations such as reporting and        maintenance. This is covered in the “Active Secondaries” section later in this chapter.            Now that you have been introduced to some of the benefits AlwaysOn Availability Groups offers        for an organization, let’s take the time to get a stronger understanding of the AlwaysOn Availability        Groups concepts and how this new capability operates. The concepts covered include the following:            ■■ Availability replica roles            ■■ Data synchronization modes            ■■ Failover modes            ■■ Connection mode in secondaries            ■■ Availability group listeners      Availability Replica Roles        Each AlwaysOn availability group comprises a set of two or more failover partners that are referred to        as availability replicas. The availability replicas can consist of either a primary role or a secondary role.        Note that there can be a maximum of four secondaries, and of these four secondaries only a maxi-        mum of two secondaries can be configured to use the synchronous-commit availability mode.            The roles affiliated with the availability replicas in AlwaysOn Availability Groups follow the same        principles as the legendary Sith rule of two doctrines in the Star Wars saga. In Star Wars, there can be        only two Siths at one time, a master and an apprentice. Similarly, a SQL Server instance in an availabil-        ity group can be only a primary replica or a secondary replica. At no time can it be both because the        role swapping is controlled by Windows Server Failover Cluster (WSFC).            Each of the SQL Server instances in the availability group is hosted on either a SQL Server failover        cluster instance (FCI) or a stand-alone instance of SQL Server 2012. Each of these instances resides on        different nodes of a WSFC. WSFC is typically used for providing high availability and disaster recovery        for well-known Microsoft products. As such, availability groups use WSFC as the underlying mecha-        nism to provide internode health detection, failover coordination, primary health detection, and        distributed change notifications for the solution.            Each availability replica hosts a copy of the availability databases in the availability group. Because        there are multiple copies of the databases being hosted on each availability replica, there isn’t a        prerequisite for using shared storage like there was in the past when deploying traditional SQL Server        failover clusters. On the flip side, when using nonshared storage, an organization must realize that        storage requirements increase as the number of replicas it plans on hosting increases.26	 PART 1  Database Administration
Data Synchronization Modes   To move data from the primary replica to the secondary replica, each mode uses either   synchronous-commit availability mode or asynchronous-commit availability mode. Give   consideration to the following items when selecting either option:       ■■ When you use the synchronous-commit mode, a transaction is committed on both replicas            to guarantee transactional consistency. This, however, means increased latency. As such, this            option might not be appropriate for partners who don’t share a high-speed network or who            reside in different geographical locations.       ■■ The asynchronous-commit mode commits transactions between partners without waiting for            the partner to write the log to disk. This maximizes performance between the application and            the primary replica and is well suited for disaster-recovery solutions.   Availability Groups Failover Modes   When configuring AlwaysOn availability groups, database administrators can choose from two   failover modes when swapping roles from the primary to the secondary replicas. For administra-   tors who are familiar with database mirroring, you’ll see that to obtain high availability and disaster   recovery the failover modes are very similar to the modes in database mirroring. These are the two   AlwaysOn failover modes available when using the New Availability Group Wizard:       ■■ Automatic Failover  This replica uses synchronous-commit availability mode, and it supports            both automatic failover and manual failover between the replica partners. A maximum of two            failover replica partners are supported when choosing automatic failover.       ■■ Manual Failover  This replica uses synchronous or asynchronous commit availability mode            and supports only manual failovers between the replica partners.   Connection Mode in Secondaries   As indicated earlier, each of the secondaries can be configured to support read-only access for   reporting or other maintenance tasks, such as backups. During the final configuration stage of   A lwaysOn availability groups, database administrators decide on the connection mode for the   secondary replicas. There are three connection modes available:       ■■ Disallow connections  In the secondary role, this availability replica does not allow any            connections.       ■■ Allow only read-intent connections  In the secondary role, this availability replica allows            only read-intent connections.       ■■ Allow all connections  In the secondary role, this availability replica allows all connections            for read access, including connections running with older clients.	  CHAPTER 2  High-Availability and Disaster-Recovery Enhancements	  27
Availability Group Listeners        The availability group listener provides a way of connecting to databases within an availability group        via a virtual network name that is bound to the primary replica. Applications can specify the network        name affiliated with the availability group listener in connection strings. After the availability group        fails over from the primary replica to a secondary replica, the network name directs connections to        the new primary replica. The availability group listener concept is similar to a Virtual SQL Server Name        when using failover clustering; however, with an availability group listener, there is a virtual network        name for each availability group, whereas with SQL Server failover clustering, there is one virtual        network name for the instance.            You can specify your availability group listener preferences when using the Create A New        Availability Group Wizard in SQL Server Management Studio, or you can manually create or mod-        ify an availability group listener after the availability group is created. Alternatively, you can use        Transact-SQL to create or modify the listener too. Notice in Figure 2-5 that each availability group        listener requires a DNS name, an IP address, and a port such as 1433. Once the availability group        listener is created, a server name and an IP address cluster resource are automatically created within        Failover Cluster Manager. This is certainly a testimony to the availability group’s flexibility and tight        integration with SQL Server, because the majority of the configurations are done within SQL Server.         FIGURE 2-5  Specifying availability group listener properties            Be aware that there is a one-to-one mapping between availability group listeners and availability        groups. This means you can create one availability group listener for each availability group. How-        ever, if more than one availability group exists within a replica, you can have more than one avail-        ability group listener. For example, there are two availability groups shown in Figure 2-6: one is for28	 PART 1  Database Administration
the Finance availability databases, and the other is for the Accounting availability databases. Each   a vailability group has its own availability group listener that clients and applications connect to.   FIGURE 2-6  Illustrating two availability group listeners within a replica   Configuring Availability Groups   When creating a new availability group, a database administrator needs to specify an availability   group name, such as AvailablityGroupFinance, and then select one or more databases to be part of   in the availability group. The next step involves first specifying one or more instances of SQL Server   to host secondary availability replicas, and then specifying your availability group listener preference.   The final step is selecting the data-synchronization preference and connection mode for the second-   ary replicas. These configurations are conducted with the New Availability Group Wizard or with   Transact-SQL PowerShell scripts.   Prerequisites   To deploy AlwaysOn Availability Groups, the following prerequisites must be met:       ■■ All computers running SQL Server, including the servers that will reside in the disaster-            recovery site, must reside in the same Windows-based domain.       ■■ All SQL Server computers must participate in a single Windows Server failover cluster even if            the servers reside in multiple sites.       ■■ All servers must partake in a Windows Server failover cluster.       ■■ AlwaysOn Availability Groups must be enabled on each server.       ■■ All the databases must be in full recovery mode.	  CHAPTER 2  High-Availability and Disaster-Recovery Enhancements	                                        29
■■ A full backup must be conducted on all databases before deployment.            ■■ The server cannot host the Active Directory Domain Services role.      Deployment Examples        Figure 2-7 shows the Specify Replicas page you see when using the New Availability Group Wizard.        In this example, there are three SQL Server instances in the availability group called Finance:        SQL01\Instance01, SQL02\Instance01, and SQL03\Instance01. SQL01\Instance01 is configured as the        Primary replica, whereas SQL02\Instance01 and SQL03\Instance01 are configured as secondaries.        SQL01\Instance01 and SQL02\Instance01 support automatic failover with synchronous data move-        ment, whereas SQL-03\Instance01 uses asynchronous-commit availability mode and supports only        a forced failover. Finally, SQL01\Instance01 does not allow read-only connections to the secondary,        whereas SQL02\Instance01 and SQL03\Instance01 allow read-intent connections to the secondary. In        addition, for this example, SQL01\Instance01 and SQL02\Instance01 reside in a primary datacenter for        high availability within a site, and SQL03\Instance01 resides in the disaster recovery datacenter and        will be brought online manually in the event the primary datacenter becomes unavailable.         FIGURE 2-7  Specifying the SQL Server instances in the availability group            One thing becomes vividly clear from Figure 2-7 and the preceding example: there are many        different deployment configurations available to satisfy any organization’s high-availability and        disaster-recovery requirements. See Figure 2-8 for the following additional deployment alternatives:            ■■ Nonshared storage, local, regional, and geo target            ■■ Multisite cluster with another cluster as the disaster recovery (DR) target30	 PART 1  Database Administration
■■ Three-node cluster with similar DR target   ■■ Secondary targets for backup, reporting, and DR                                                            A AA                                               A                                            A   AA                                                                                AA                                                                             AA                        AA                                                              Multisite Cluster with Another       Nonshared Storage, Local,                            Cluster as Disaster Recovery Target        Regional, and Geo Target   A AA                                                     A                       A                                                                          A  AA         A AA   Three-Node Cluster with Similar                            Secondary Targets for Backup,       Disaster Recovery Target                             Reporting, and Disaster Recovery   FIGURE 2-8  Additional AlwaysOn deployment alternatives   Monitoring Availability Groups with the Dashboard   Administrators have an opportunity to leverage a new and remarkably intuitive manageability   dashboard in in SQL Server 2012 to monitor availability groups. The dashboard, shown in Figure 2-9,   reports the health and status associated with each instance and availability database in the availability   group. Moreover, the dashboard displays the specific replica role of each instance and provides syn-   chronization status. If there is an issue or if more information on a specific event is required, a data-   base administrator can click the availability group state, server instance name, or health status hyper-   links for additional information. The dashboard is launched by right-clicking the Availability Groups   folder in the Object Explorer in SQL Server Management Studio and selecting Show Dashboard.	        CHAPTER 2  High-Availability and Disaster-Recovery Enhancements	                        31
FIGURE 2-9  Monitoring availability groups with the new Availability Group dashboardActive Secondaries        As indicated earlier, many organizations communicated to the SQL Server team their need to improve        IT efficiency by optimizing their existing hardware investments. Specifically, organizations hoped their        production systems for passive workloads could be used in some other capacity instead of remaining        in an idle state. These same organizations also wanted reporting and maintenance tasks offloaded        from production servers because these tasks negatively affected production workloads. With SQL        Server 2012, organizations can leverage the AlwaysOn Availability Group capability to configure        secondary replicas, also referred to as active secondaries, to provide read-only access to databases        affiliated with an availability group.            All read-only operations on the secondary replicas are supported by row versioning and are        automatically mapped to snapshot isolation transaction level, which eliminates reader/writer        contention. In addition, the data in the secondary replicas is near real time. In many circumstances,        data latency between the primary and secondary databases should be within seconds. Note that the        latency of log synchronization affects data freshness.            For organizations, active secondaries are synonymous with performance optimization on a primary        replica and increases to overall IT efficiency and hardware utilization.32	 PART 1  Database Administration
                                
                                
                                Search
                            
                            Read the Text Version
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
 
                    