Introduction |
|
1 | (1) |
|
|
2 | (1) |
|
|
2 | (1) |
|
Conventions Used in This Book |
|
|
3 | (1) |
|
How This Book Is Organized |
|
|
3 | (2) |
|
Part I: SQL Server 2005: An Overview |
|
|
3 | (1) |
|
Part II: Basic Operations |
|
|
3 | (1) |
|
Part III: Working with SQL Server |
|
|
3 | (1) |
|
Part IV: Protecting Your Data |
|
|
4 | (1) |
|
Part V: Administering a SQL Server System |
|
|
4 | (1) |
|
Part VI: Using SQL Server Business Intelligence (BI) Services |
|
|
4 | (1) |
|
Part VII: The Part of Tens |
|
|
4 | (1) |
|
|
5 | (1) |
|
|
5 | (1) |
|
|
5 | (2) |
|
Part I: SQL Server 2005: An Overview |
|
|
7 | (44) |
|
Introducing SQL Server 2005 |
|
|
9 | (12) |
|
Getting to Know SQL Server 2005 |
|
|
9 | (1) |
|
|
10 | (1) |
|
|
10 | (1) |
|
|
11 | (1) |
|
|
11 | (1) |
|
|
12 | (2) |
|
|
13 | (1) |
|
SQL Server Management Studio |
|
|
13 | (1) |
|
Business Intelligence Development Studio |
|
|
14 | (1) |
|
|
14 | (1) |
|
|
15 | (1) |
|
|
15 | (1) |
|
|
16 | (1) |
|
Online page and file restore |
|
|
16 | (1) |
|
|
16 | (1) |
|
|
16 | (1) |
|
|
17 | (1) |
|
|
17 | (1) |
|
|
18 | (1) |
|
|
18 | (1) |
|
|
18 | (1) |
|
|
18 | (1) |
|
A Database That Supports Business Intelligence |
|
|
18 | (3) |
|
New Features in SQL Server 2005 |
|
|
21 | (14) |
|
|
22 | (1) |
|
|
22 | (1) |
|
Password policy enforcement |
|
|
22 | (1) |
|
Schema and user separation |
|
|
22 | (1) |
|
Automated certificate creation for SSL |
|
|
23 | (1) |
|
Transact-SQL Enhancements |
|
|
23 | (1) |
|
|
23 | (1) |
|
|
23 | (1) |
|
|
24 | (1) |
|
Other Developer-Orientated Enhancements |
|
|
24 | (2) |
|
Support for the Common Language Runtime |
|
|
24 | (1) |
|
|
25 | (1) |
|
SQL Management Objects (SMO) |
|
|
25 | (1) |
|
|
25 | (1) |
|
|
26 | (1) |
|
Manageability Enhancements |
|
|
26 | (3) |
|
|
26 | (1) |
|
|
27 | (1) |
|
|
27 | (1) |
|
|
27 | (1) |
|
|
28 | (1) |
|
SQL Server Service Broker |
|
|
28 | (1) |
|
Dedicated Administrator connection |
|
|
28 | (1) |
|
|
28 | (1) |
|
|
29 | (1) |
|
|
29 | (1) |
|
|
29 | (1) |
|
|
29 | (1) |
|
Availability Enhancements |
|
|
29 | (2) |
|
|
30 | (1) |
|
Availability after server failure |
|
|
30 | (1) |
|
Availability during database maintenance |
|
|
30 | (1) |
|
|
31 | (1) |
|
|
31 | (1) |
|
|
31 | (1) |
|
Database Engine Tuning Advisor |
|
|
32 | (1) |
|
|
32 | (1) |
|
|
32 | (1) |
|
Business Intelligence Enhancements |
|
|
32 | (3) |
|
|
33 | (1) |
|
|
33 | (1) |
|
|
33 | (2) |
|
Introducing and Configuring Management Studio |
|
|
35 | (16) |
|
Starting Management Studio and Connecting to SQL Server |
|
|
36 | (1) |
|
|
36 | (2) |
|
Exploring Database Objects Using the Object Explorer |
|
|
38 | (5) |
|
View and modify database properties |
|
|
39 | (2) |
|
|
41 | (1) |
|
|
42 | (1) |
|
Getting an Overview on the Summary Tab |
|
|
43 | (2) |
|
Asking Questions in the Query Pane |
|
|
45 | (1) |
|
Customizing the Environment |
|
|
46 | (5) |
|
|
47 | (1) |
|
|
47 | (1) |
|
|
48 | (1) |
|
Restoring the default configuration |
|
|
49 | (1) |
|
Using templates in Management Studio |
|
|
49 | (2) |
|
Part II: Basic Operations |
|
|
51 | (48) |
|
Creating Databases, Tables, and Relationships with T-SQL |
|
|
53 | (14) |
|
Firing Up SQL Server 2005 |
|
|
54 | (1) |
|
Exploring the Object Explorer |
|
|
55 | (2) |
|
|
57 | (1) |
|
|
58 | (3) |
|
|
61 | (2) |
|
|
63 | (2) |
|
Adding Data to the Database |
|
|
65 | (2) |
|
Asking Questions and Getting Answers |
|
|
67 | (20) |
|
|
67 | (2) |
|
Using the Select Statement |
|
|
69 | (3) |
|
Filtering with the Where Clause |
|
|
72 | (3) |
|
|
75 | (2) |
|
Retrieving Data from Multiple Tables |
|
|
77 | (4) |
|
|
81 | (2) |
|
|
83 | (4) |
|
Building a Simple Application |
|
|
87 | (12) |
|
Designing the Application |
|
|
88 | (2) |
|
|
90 | (2) |
|
Building the Connection to the Data |
|
|
92 | (4) |
|
Building the User Interface |
|
|
96 | (1) |
|
Debugging the Application |
|
|
97 | (2) |
|
Part III: Working with SQL Server |
|
|
99 | (56) |
|
|
101 | (20) |
|
|
102 | (2) |
|
|
103 | (1) |
|
|
103 | (1) |
|
|
104 | (1) |
|
Creating XML Documents and Fragments |
|
|
104 | (1) |
|
Using Untyped and Typed XML |
|
|
105 | (8) |
|
|
105 | (3) |
|
Understanding the XML Schema Definition language |
|
|
108 | (2) |
|
|
110 | (3) |
|
|
113 | (3) |
|
|
113 | (3) |
|
Creating indexes for the xml datatype |
|
|
116 | (1) |
|
Using the XML Data Modification Language |
|
|
116 | (2) |
|
Converting Data to and from XML |
|
|
118 | (3) |
|
Using the For XML statement |
|
|
119 | (1) |
|
Using the OPENXML keyword |
|
|
120 | (1) |
|
Using the Common Language Runtime |
|
|
121 | (10) |
|
Introducing CLR Integration |
|
|
122 | (3) |
|
|
123 | (1) |
|
Manual coding and deployment |
|
|
123 | (2) |
|
Comparison with Traditional Approaches |
|
|
125 | (4) |
|
Potential benefits of CLR integration |
|
|
126 | (1) |
|
|
127 | (1) |
|
CLR and extended stored procedure comparison |
|
|
128 | (1) |
|
CLR and middle tier comparison |
|
|
129 | (1) |
|
|
129 | (2) |
|
|
131 | (12) |
|
What a Stored Procedure Is |
|
|
131 | (6) |
|
Types of stored procedure |
|
|
132 | (1) |
|
What a stored procedure does |
|
|
132 | (1) |
|
Reasons to use a stored procedure |
|
|
133 | (1) |
|
|
134 | (3) |
|
Creating a Stored Procedure |
|
|
137 | (4) |
|
Creating a procedure without parameters |
|
|
138 | (1) |
|
Creating a stored procedure with a parameter |
|
|
139 | (1) |
|
|
140 | (1) |
|
Calling a Stored Procedure |
|
|
141 | (1) |
|
|
141 | (2) |
|
|
143 | (12) |
|
Handling Errors with T-SQL |
|
|
143 | (1) |
|
The Try...Catch Construct |
|
|
144 | (1) |
|
Rules for the Try...Catch construct |
|
|
144 | (1) |
|
Error message severity levels |
|
|
144 | (1) |
|
|
145 | (10) |
|
|
147 | (2) |
|
|
149 | (1) |
|
Using nested Try...Catch constructs |
|
|
150 | (1) |
|
|
151 | (4) |
|
Part IV: Protecting Your Data |
|
|
155 | (54) |
|
|
157 | (16) |
|
Introducing The New Security Model |
|
|
158 | (7) |
|
|
159 | (1) |
|
|
159 | (1) |
|
|
159 | (1) |
|
|
160 | (1) |
|
Granular permissions control |
|
|
161 | (1) |
|
|
161 | (1) |
|
|
162 | (1) |
|
How permissions apply to specific securables |
|
|
162 | (3) |
|
Working with the New Security Model |
|
|
165 | (7) |
|
|
166 | (1) |
|
Separation of users and schemas |
|
|
166 | (1) |
|
|
167 | (1) |
|
Granting permissions to a user |
|
|
168 | (2) |
|
|
170 | (1) |
|
|
170 | (1) |
|
Password policy enforcement |
|
|
170 | (2) |
|
Using Common Language Runtime Security |
|
|
172 | (1) |
|
Availability and Preventing Data Loss |
|
|
173 | (12) |
|
|
174 | (1) |
|
Reducing Downtime with Database Mirroring |
|
|
174 | (4) |
|
Database mirroring overview |
|
|
175 | (1) |
|
Transparent client redirect |
|
|
176 | (1) |
|
|
176 | (1) |
|
Differences from failover clustering |
|
|
176 | (1) |
|
Similarities to failover clustering |
|
|
177 | (1) |
|
|
177 | (1) |
|
Speeding Recovery with Checkpointing |
|
|
178 | (1) |
|
|
178 | (1) |
|
Setting the recovery interval |
|
|
179 | (1) |
|
Using Failover Clustering |
|
|
179 | (1) |
|
|
180 | (3) |
|
Naming database snapshots |
|
|
181 | (1) |
|
Creating a database snapshot |
|
|
181 | (1) |
|
Deleting unwanted database snapshots |
|
|
182 | (1) |
|
Reverting to a database snapshot |
|
|
182 | (1) |
|
Backing Up and Restoring Data |
|
|
183 | (2) |
|
Assessing the risks to protect against |
|
|
183 | (1) |
|
|
183 | (1) |
|
|
184 | (1) |
|
|
184 | (1) |
|
Maintaining Integrity with Transactions |
|
|
185 | (6) |
|
Understanding Transactions |
|
|
186 | (1) |
|
|
186 | (1) |
|
|
186 | (1) |
|
|
187 | (4) |
|
|
187 | (1) |
|
|
187 | (3) |
|
|
190 | (1) |
|
Maintaining Data Integrity with Constraints and Triggers |
|
|
191 | (18) |
|
Understanding Constraints, Defaults, Rules, and Triggers |
|
|
192 | (4) |
|
|
192 | (1) |
|
|
192 | (2) |
|
|
194 | (1) |
|
|
195 | (1) |
|
|
196 | (5) |
|
Creating a check constraint visually |
|
|
197 | (3) |
|
Dropping a check constraint visually |
|
|
200 | (1) |
|
Creating a check constraint with T-SQL |
|
|
200 | (1) |
|
|
201 | (4) |
|
Preventing undesired changes |
|
|
201 | (2) |
|
|
203 | (2) |
|
|
205 | (4) |
|
The inserted and deleted tables |
|
|
206 | (1) |
|
Triggers for auditing DML |
|
|
206 | (3) |
|
Part V: Administering a SQL Server System |
|
|
209 | (96) |
|
Configuring a SQL Server System |
|
|
211 | (20) |
|
Using SQL Server Configuration Manager |
|
|
211 | (12) |
|
Adding SQL Server Configuration Manager to an MMC console |
|
|
213 | (3) |
|
Managing SQL Server services |
|
|
216 | (3) |
|
Connecting to a remote computer |
|
|
219 | (2) |
|
Configuring network protocols |
|
|
221 | (2) |
|
Configuring client computers |
|
|
223 | (1) |
|
|
223 | (5) |
|
Getting started with SQLCMD |
|
|
223 | (3) |
|
Executing a T-SQL script with SQLCMD |
|
|
226 | (1) |
|
Logging in as a specified user |
|
|
226 | (1) |
|
Connecting to a remote SQL server instance |
|
|
227 | (1) |
|
Configuring Using SQL Server Management Studio |
|
|
228 | (3) |
|
SQL Server instance level configuration |
|
|
228 | (1) |
|
Configuring at the database level |
|
|
229 | (2) |
|
Scheduling SQL Server Agent Jobs |
|
|
231 | (22) |
|
Introducing SQL Server Agent |
|
|
232 | (5) |
|
Managing Agent from SQL Server Management Studio |
|
|
232 | (2) |
|
Starting and stopping SQL Server Agent |
|
|
234 | (1) |
|
Setting SQL Agent to start automatically |
|
|
234 | (3) |
|
Using Agent in Business Intelligence |
|
|
237 | (1) |
|
|
237 | (3) |
|
Permissions for SQL Agent |
|
|
237 | (1) |
|
|
238 | (2) |
|
Configuring SQL Server Agent |
|
|
240 | (3) |
|
|
240 | (2) |
|
Enabling SQL Agent extended stored procedures |
|
|
242 | (1) |
|
|
243 | (7) |
|
|
243 | (6) |
|
Creating a SQL Agent alert |
|
|
249 | (1) |
|
Using T-SQL with SQL Server Agent |
|
|
250 | (1) |
|
Using the Maintenance Plan Wizard |
|
|
250 | (3) |
|
Sending Information Using Notification Services |
|
|
253 | (8) |
|
The Notification Services Approach |
|
|
254 | (3) |
|
|
254 | (1) |
|
New notification features in SQL Server 2005 |
|
|
255 | (1) |
|
How Notification Services works |
|
|
255 | (1) |
|
|
256 | (1) |
|
Application Definition and Instance Configuration Files |
|
|
257 | (4) |
|
The Application Definition file |
|
|
257 | (2) |
|
The Instance Configuration file |
|
|
259 | (2) |
|
Maintaining a SQL Server System |
|
|
261 | (22) |
|
|
261 | (9) |
|
|
262 | (8) |
|
Different types of backup |
|
|
270 | (1) |
|
|
270 | (1) |
|
|
270 | (4) |
|
|
274 | (3) |
|
Halting Runaway Queries with the Dedicated Administrator Connection |
|
|
277 | (1) |
|
Looking under the Covers with Profiler |
|
|
278 | (2) |
|
Using the Database Engine Tuning Advisor |
|
|
280 | (3) |
|
Working with Multiple Servers |
|
|
283 | (22) |
|
|
284 | (2) |
|
|
284 | (1) |
|
Replication enhancements in SQL Server 2005 |
|
|
285 | (1) |
|
|
285 | (1) |
|
|
286 | (15) |
|
Setting up a publisher and distributor |
|
|
286 | (7) |
|
Creating a new publication |
|
|
293 | (4) |
|
|
297 | (4) |
|
Introducing Service Broker |
|
|
301 | (4) |
|
|
302 | (1) |
|
|
302 | (1) |
|
|
303 | (1) |
|
|
304 | (1) |
|
Part VI: Using SQL Server Business Intelligence (BI) Services |
|
|
305 | (72) |
|
SQL Server Integration Services |
|
|
307 | (30) |
|
Overview of Business Intelligence |
|
|
308 | (1) |
|
Business intelligence tools |
|
|
308 | (1) |
|
|
308 | (1) |
|
Integration Services Overview |
|
|
309 | (7) |
|
Creating an Integration Services package |
|
|
310 | (1) |
|
|
311 | (1) |
|
|
312 | (2) |
|
|
314 | (1) |
|
|
315 | (1) |
|
|
315 | (1) |
|
|
315 | (1) |
|
|
315 | (1) |
|
|
316 | (1) |
|
|
316 | (1) |
|
Business Intelligence Development Studio |
|
|
316 | (5) |
|
|
317 | (2) |
|
|
319 | (1) |
|
|
319 | (1) |
|
|
320 | (1) |
|
|
321 | (1) |
|
|
321 | (1) |
|
|
321 | (8) |
|
Creating an Integration Services Project |
|
|
329 | (7) |
|
Deploying an Integration Services Project |
|
|
336 | (1) |
|
|
337 | (22) |
|
Introducing Analysis Services |
|
|
337 | (4) |
|
New features in Analysis Services 2005 |
|
|
338 | (1) |
|
Key Performance Indicators |
|
|
339 | (1) |
|
Managing Analysis Services |
|
|
340 | (1) |
|
Business Intelligence Development Studio and Analysis Services |
|
|
341 | (1) |
|
Creating an Analysis Services Project |
|
|
342 | (16) |
|
|
358 | (1) |
|
Building Business Reports with Reporting Services |
|
|
359 | (18) |
|
Overview of Reporting Services |
|
|
360 | (1) |
|
Replicating to a Report Server |
|
|
361 | (1) |
|
Database mirroring and database views |
|
|
361 | (1) |
|
|
361 | (9) |
|
|
370 | (1) |
|
|
371 | (1) |
|
Managing in Report Manager |
|
|
371 | (1) |
|
Managing in SQL Server Management Studio |
|
|
372 | (1) |
|
Distributing reports to those who need them |
|
|
372 | (1) |
|
Report Definition Language |
|
|
372 | (1) |
|
|
373 | (2) |
|
|
375 | (2) |
|
Part VII: The Part of Tens |
|
|
377 | (10) |
|
Ten Sources of Information on SQL Server 2005 |
|
|
379 | (4) |
|
|
379 | (1) |
|
|
380 | (1) |
|
|
380 | (1) |
|
The SQL Server 2005 Web Site |
|
|
380 | (1) |
|
The SQL Server Developer Center |
|
|
381 | (1) |
|
The Business Intelligence Site |
|
|
381 | (1) |
|
The Integration Services Developer Center |
|
|
381 | (1) |
|
The Reporting Services Web Site |
|
|
381 | (1) |
|
|
382 | (1) |
|
|
382 | (1) |
|
Products that Work with SQL Server 2005 |
|
|
383 | (4) |
|
|
383 | (1) |
|
Microsoft Office InfoPath 2003 |
|
|
384 | (1) |
|
|
384 | (1) |
|
|
384 | (1) |
|
|
385 | (2) |
Index |
|
387 | |