v Dinesh Asanka (MVP SQL Server, B.S. [Eng], MBA [IT]) is a database architect at Exilesoft (Pvt) Ltd. He is primarily involved in designing databases in SQL Server. Dinesh has been working with SQL Server since 2000 starting from version 7. Dinesh is a regular columnist for popular Web sites, including sql-server-performance.com, sqlservercentral.com, and sqlserveruniverse. com. Besides writing, Dinesh is actively involved in presentations for the SQL Server Sri Lankan User Group (SS SLUG). Dinesh holds a bachelor’s degree in engineering and an MBA from the University of Moratuwa, Sri Lanka. Christian Bolton (MCA: Database, MCM: SQL Server, MVP: SQL Server) is a director and database architect for Coeo Ltd., a Microsoft Gold Partner that delivers SQL Server managed support and consulting services to organizations in the U.K. and Europe. Prior to joining Coeo, Christian worked for five years as a senior premier field engineer at Microsoft UK, working with some of Microsoft’s biggest customers. He is a Microsoft Certified Architect, Certified Master and MVP for SQL Server, and coauthor of Professional SQL Server 2005 Performance Tuning. He works out of London and lives in the south of England with his wife and two children. Justin Langford (MCSE, MCITP, MCDBA, SNIA, CCNA, ITIL) is a principal consultant for Coeo Ltd, a Microsoft Gold Partner in London. Coeo provides SQL Server consulting services for upgrade, performance tuning, scalability, and availability solutions for all versions of SQL Server. Coeo offers remote DBA services to customers who outsource management and 24×7 operations of their SQL Server platforms. Justin delivers and maintains SQL Server solutions for customers in many different industry sectors throughout Europe. Contributing Authors vi Prior to joining Coeo, Justin spent three years working at Microsoft UK as a premier field engineer. In this role, Justin delivered SQL Server support consulting to some of Microsoft’s largest finance and government customers in Europe. Justin has also coauthored Wrox IT Pro: SQL Server Performance Tuning. Bret Stateham (MCT, MCSE, MCTS, MCITP) is the owner of Net Connex Technology Training and Consulting, LLC, located just outside San Diego, CA. Net Connex provides consulting and training services that are focused primarily on Microsoft server platforms. Bret has over 20 years of experience in the industry and over 10 years as a trainer. He has been working with SQL Server since version 6.5 and has been teaching SQL Server since version 7.0. Bret has contributed to multiple Syngress SQL Server publications starting with Designing SQL Server 2000 Databases for .Net Enterprise Server. He stays involved with the community by helping to organize the Socal Code Camp and he is a frequent speaker at Code Camps and User Groups. Bret lives in Ramona, CA, with his wife, Lori; son, Chase; and daughter, Katie. Sylvia Vargas has been working with information technology since 1981. Sylvia’s experience in SQL Server started in 1997, although she has over 20 years’ experience in other relational database technologies, including IBM SQL/DS, Digital Equipment Corp.’s RDB, and Oracle. She has worked for state and local governments; Fortune 500 companies, such as Boeing, Disney, and Texaco; and a broad number of industries, including finance, manufacturing, Internet, and utilities. She has been a developer, DBA, and manager on everything from a SQL/DS running on an IBM/Oracle system running UNIX to SQL Server and DB2 installations. Sylvia has an undergraduate degree from Fordham University and an MBA from Pace University in New York. She has worked at Microsoft since 2006. Sylvia lives in Seattle, WA, and enjoys bicycling, genealogy, and the great theatre in the Seattle area. Sylvia also teaches part-time at the University of Washington’s Extension Certificate Program teaching SQL Server Development. Chapter 1 New Features in SQL Server 2008 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 A Word About the Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 New Feature Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Installation 3 Compressed Backups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Enhanced Configuration and Management of Audits . . . . . . . . . . . . . . . 8 New Table Value Parameter 9 FileStream Data Types 10 Sparse Column Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Encryption Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Key Management and Encryption 12 High Availability 12 Performance 12 Performance Data Management . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Resource Governor (similar to Query Governor) . . . . . . . . . . . . . . 13 Freeze Plan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 SQL Server 2008 Declarative Management Framework . . . . . . . . . . . . 15 Development Improvements 16 LINQ Support 16 MERGE Statement 17 Spatial Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Analysis Services Improvements 17 ETL/SSIS Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 Reporting Services 18 No Longer Requires IIS 18 Better Graphing 18 Export to Word Support 18 Deprecated Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Discontinued Features 20 Summary of Exam Objectives 21 Exam Objectives Fast Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Exam Objectives Frequently Asked Questions 22 Self Test 23 Self Test Quick Answer Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 Contents vii viii Contents Chapter 2 Installing SQL Server 2008 31 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 SQL Versions, Requirements, Features, and Differences 32 Planning Your Installation 46 Upgrade Tools 50 Hardware Requirements: CPU, Memory, and Disk . . . . . . . . . . . 51 Operating System Requirements . . . . . . . . . . . . . . . . . . . . . . . . 56 Software Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 Establishing Service Accounts 60 Upgrading vs. Side-by-Side Installation 65 Clustered Installation Considerations . . . . . . . . . . . . . . . . . . . . . 66 Unattended Installations 67 Post upgrade Activity 68 Database Instances, Files, Locations, Filegroups, and Performance . . . . . . . . 70 Binary File Locations 71 Filegroups 73 Disk Planning Best Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 Summary of Exam Objectives 75 Exam Objectives Fast Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 Exam Objectives Frequently Asked Questions 78 Self Test 79 Self Test Quick Answer Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Chapter 3 Configuring SQL Server 2008 . . . . . . . . . . . . . . . . . . . . . . . . 85 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Instances vs. Default Instance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 Instance Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 Performance Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 SQL Server Configuration Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 Managing Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Enabling FileStream . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 Managing Connections and Protocols . . . . . . . . . . . . . . . . . . . . . . . . . 96 Shared Memory 96 Named Pipes 97 VIA 97 TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 Changing the TCP Port 97 Aliases 99 sp_configure and SQL Server Management Studio . . . . . . . . . . . . . . . . . .102 Advanced Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103 Contents ix AWE 104 Setting the Maximum and Minimum Memory for SQL Server . . . . . .104 Max Server Memory (MB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105 Min Server Memory (MB) 105 Maximum Degree of Parallelism 106 Security Certifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107 C2 Auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .107 Common Criteria Compliance 107 New Features 107 Backup Compression Default 108 FileStream Access Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 Database Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .108 Configuring Database Mail 109 Full-Text Indexing 110 Configuring Full-Text Indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . .110 Managing Full-Text Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111 Summary of Exam Objectives 112 Exam Objectives Fast Track . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .112 Exam Objectives Frequently Asked Questions 114 Self Test 116 Self Test Quick Answer Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122 Chapter 4 Managing Security 123 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .124 Principals 124 Roles 126 The “Principle of Least Privilege” 131 Users 132 Schemas 133 Users versus Logins 135 Authentication Mode 138 Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .142 Cross-Database Ownership Chaining 143 Object Permissions 144 Log-in Permissions (As Related to Roles) . . . . . . . . . . . . . . . . . . . . . .145 Auditing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146 Change Data Capture (CDC) 148 Using DDL Triggers 148 The SQL Server Configuration Manager . . . . . . . . . . . . . . . . . . . . . . . . .150 Security and SQL Agent 153 . Web sites, including sql- server- performance.com, sqlservercentral.com, and sqlserveruniverse. com. Besides writing, Dinesh is actively involved in presentations for the SQL Server Sri Lankan User. multiple Syngress SQL Server publications starting with Designing SQL Server 2000 Databases for .Net Enterprise Server. He stays involved with the community by helping to organize the Socal Code. Microsoft server platforms. Bret has over 20 years of experience in the industry and over 10 years as a trainer. He has been working with SQL Server since version 6.5 and has been teaching SQL Server