Pro SQL Server 2005
■ ■ ■
Thomas Rizzo, Adam Machanic,
Julian Skinner, Louis Davidson,
Robin Dewson, Jan Narkiewicz,
Joseph Sack, Rob Walters
Contents
About the Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .xvii
About the Technical Reviewers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xix
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxi
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxiii
■CHAPTER 1 SQL Server Overview and Installation . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Evolution of SQL Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
SQL Server 2005 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Editions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Features. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Minimum System Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Installation Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Server Registration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Sample Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Side-by-Side Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Upgrading from SQL Server 2000 and 7.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
■CHAPTER 2 SQL Server Management Technologies . . . . . . . . . . . . . . . . . . . . . . . 25
Connecting to and Managing Your SQL Servers . . . . . . . . . . . . . . . . . . . . . . . . . 25
Context-Sensitive Menus for Each Object Type . . . . . . . . . . . . . . . . . . . . . 26
Mobile Database Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
SQL Server 2000 Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
User Interface Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Asynchronous Treeview and Object Filtering . . . . . . . . . . . . . . . . . . . . . . . 29
Nonmodal and Resizable Dialog Boxes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Script and Schedule Enhancements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Code Authoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Results Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Activity Monitor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Summary Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Functional Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Dedicated Administrator Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Deadlock Visualization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Performance Monitor Correlation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Server Registration Import/Export. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Maintenance Plan Designer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
SQL Server Agent Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Database Mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
Catalog Views and Dynamic Management Views . . . . . . . . . . . . . . . . . . . . 41
Default Server Trace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Profiler Enhancements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
SQL Configuration Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Surface Area Configurator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Enhanced Help and Community Integration . . . . . . . . . . . . . . . . . . . . . . . . 47
SQLCMD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Server Management Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
■CHAPTER 3 T-SQL Enhancements for Developers . . . . . . . . . . . . . . . . . . . . . . . . . 53
Enhancements Affecting DML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Old-Style Outer Joins Deprecated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Common Table Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
TOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Extensions to the FROM Clause . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
OUTPUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
Ranking Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
EXCEPT and INTERSECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Synonyms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
General Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Error Handling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
.WRITE Extension to the UPDATE Statement . . . . . . . . . . . . . . . . . . . . . . . . 94
EXECUTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Code Security Context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
.NET Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
■CHAPTER 4 T-SQL Enhancements for DBAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Metadata Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Compatibility Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Catalog Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Dynamic Management Views and Functions. . . . . . . . . . . . . . . . . . . . . . . 106
■CONTENTS vii
DDL Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Creating and Altering DDL Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Dropping DDL Triggers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Enabling and Disabling DDL Triggers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Enumerating DDL Triggers Using Catalog Views . . . . . . . . . . . . . . . . . . . 109
Programming DDL Triggers with the eventdata() Function . . . . . . . . . . . 110
Indexing and Performance Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Online Indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Controlling Locking During Index Creation . . . . . . . . . . . . . . . . . . . . . . . . 113
Creating Indexes with Additional Columns Included. . . . . . . . . . . . . . . . . 113
Altering Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Using Statistics for Correlated DATETIME Columns . . . . . . . . . . . . . . . . . 117
Improving Performance of Ordering for Tertiary Collations . . . . . . . . . . . 118
Table and Index Partitioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Partition Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Partition Schemes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Creating Partitioned Tables and Indexes . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Adding and Removing Partitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Modifying Partition Functions and Schemes . . . . . . . . . . . . . . . . . . . . . . . 123
Switching Tables into and out of Partitions . . . . . . . . . . . . . . . . . . . . . . . . 124
Managing Table and Index Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Enhancements to Tables and Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Enhancements to Indexed Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Persisted Computed Columns. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
SNAPSHOT Isolation Level . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Database Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Data Integrity Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Verifying a Database’s Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Putting a Database into an Emergency State . . . . . . . . . . . . . . . . . . . . . . 132
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
■CHAPTER 5 .NET Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Introduction to SQL Server .NET Integration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Why Does SQL Server 2005 Host the CLR?. . . . . . . . . . . . . . . . . . . . . . . . 136
When to Use CLR Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
When Not to Use CLR Routines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
How SQL Server Hosts .NET: An Architectural Overview . . . . . . . . . . . . . 137
SQL Server .NET Programming Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
Enhancements to ADO.NET for SQL Server Hosting . . . . . . . . . . . . . . . . . 138
Overview of the New .NET Namespaces for SQL Server . . . . . . . . . . . . . 138
评级: 5
浏览量: 133
资源大小: 12.86MB
上传时间: 2009-03-09
所需积分:
6