Introduction |
|
xvii | |
System Requirements |
|
xvii | |
Practice Setup Instructions |
|
xix | |
Using the Companion CD |
|
xxiii | |
Acknowledgments |
|
xxv | |
Errata & Book Support |
|
xxv | |
We Want to Hear from You |
|
xxv | |
Stay in Touch |
|
xxv | |
Preparing for the Exam |
|
xxvii | |
|
Chapter 1 Planning and Installing SQL Server 2012 |
|
|
1 | (60) |
|
Lesson 1 Planning Your Installation |
|
|
2 | (24) |
|
Evaluating Installation Requirements |
|
|
2 | (5) |
|
Designing the Installation |
|
|
7 | (1) |
|
Planning Scale Up versus Scale Out Basics |
|
|
8 | (1) |
|
Shrinking and Growing Databases |
|
|
9 | (4) |
|
Designing the Storage for New Databases |
|
|
13 | (2) |
|
Remembering Capacity Constraints |
|
|
15 | (1) |
|
Identifying a Standby Database for Reporting |
|
|
15 | (1) |
|
Identifying Windows-Level Security and Service-Level Security |
|
|
15 | (2) |
|
Performing a Core Mode Installation |
|
|
17 | (2) |
|
|
19 | (4) |
|
|
23 | (1) |
|
|
24 | (2) |
|
Lesson 2 Installing SQL Server and Related Services |
|
|
26 | (28) |
|
Configuring an Operating System Disk |
|
|
26 | (1) |
|
Installing the SQL Server Database Engine |
|
|
27 | (6) |
|
Installing SQL Server 2012 from the Command Prompt |
|
|
33 | (1) |
|
Installing SQL Server Integration Services |
|
|
34 | (2) |
|
Enabling and Disabling Features |
|
|
36 | (3) |
|
Installing SQL Server 2012 by Using a Configuration File |
|
|
39 | (1) |
|
|
40 | (12) |
|
|
52 | (1) |
|
|
53 | (1) |
|
|
54 | (1) |
|
|
55 | (1) |
|
|
56 | (5) |
|
Chapter 2 Configuring and Managing SQL Server Instances |
|
|
61 | (44) |
|
Lesson 1 Configuring SQL Server Instances |
|
|
62 | (18) |
|
|
62 | (6) |
|
Database Configuration and Standardization |
|
|
68 | (3) |
|
Distributed Transaction Coordinator |
|
|
71 | (1) |
|
Configuring Database Mail |
|
|
72 | (6) |
|
|
78 | (1) |
|
|
78 | (2) |
|
Lesson 2 Managing SQL Server Instances |
|
|
80 | (18) |
|
Installing Additional Instances |
|
|
80 | (4) |
|
Deploying Software Updates and Patch Management |
|
|
84 | (2) |
|
Configuring Resource Governor |
|
|
86 | (5) |
|
Using WSRM with Multiple Database Engine Instances |
|
|
91 | (2) |
|
Cycle SQL Server Error Logs |
|
|
93 | (3) |
|
|
96 | (1) |
|
|
96 | (2) |
|
|
98 | (1) |
|
|
99 | (1) |
|
|
100 | (5) |
|
Chapter 3 Configuring SQL Server 2012 Components |
|
|
105 | (48) |
|
Lesson 1 Configuring Additional SQL Server Components |
|
|
106 | (19) |
|
Deploying and Configuring Analysis Services |
|
|
106 | (2) |
|
Deploying and Configuring Reporting Services |
|
|
108 | (4) |
|
Deploying and Configuring SharePoint Integration |
|
|
112 | (2) |
|
Configuring SQL Server Integration Services Security |
|
|
114 | (2) |
|
Managing Full-Text Indexing |
|
|
116 | (2) |
|
|
118 | (2) |
|
|
120 | (3) |
|
|
123 | (1) |
|
|
124 | (1) |
|
Lesson 2 Managing and Configuring Databases |
|
|
125 | (22) |
|
Designing and Managing Filegroups |
|
|
125 | (3) |
|
Configuring and Standardizing Databases |
|
|
128 | (1) |
|
Understanding Contained Databases |
|
|
128 | (3) |
|
|
131 | (4) |
|
Encrypting Databases with Transparent Data Encryption |
|
|
135 | (2) |
|
Partitioning Indexes and Tables |
|
|
137 | (3) |
|
|
140 | (1) |
|
Using Database Console Commands |
|
|
141 | (5) |
|
|
146 | (1) |
|
|
146 | (1) |
|
|
147 | (1) |
|
|
148 | (1) |
|
|
149 | (4) |
|
Chapter 4 Migrating, Importing, and Exporting |
|
|
153 | (40) |
|
Lesson 1 Migrating to SQL Server 2012 |
|
|
154 | (21) |
|
Upgrading an Instance to SQL Server 2012 |
|
|
154 | (7) |
|
Migrating a Database to a SQL Server 2012 Instance |
|
|
161 | (3) |
|
Copying Databases to Other Servers |
|
|
164 | (6) |
|
|
170 | (3) |
|
|
173 | (1) |
|
|
173 | (2) |
|
Lesson 2 Exporting and Importing Data |
|
|
175 | (10) |
|
Copying and Exporting Data |
|
|
175 | (1) |
|
Using the SQL Server Import and Export Wizard |
|
|
176 | (2) |
|
Using BCP to Import and Export Data |
|
|
178 | (1) |
|
Importing Data by Using BLILK INSERT |
|
|
179 | (1) |
|
Importing Data by Using OPENROWSET(BULK) |
|
|
180 | (1) |
|
|
180 | (1) |
|
Preparing Data for Bulk Operations |
|
|
181 | (1) |
|
|
182 | (2) |
|
|
184 | (1) |
|
|
184 | (1) |
|
|
185 | (2) |
|
|
187 | (1) |
|
|
188 | (5) |
|
Chapter 5 SQL Server Logins, Roles, and Users |
|
|
193 | (36) |
|
Lesson 1 Managing Logins and Server Roles |
|
|
194 | (15) |
|
|
194 | (7) |
|
|
201 | (2) |
|
User-Defined Server Roles |
|
|
203 | (1) |
|
|
204 | (2) |
|
|
206 | (1) |
|
|
207 | (2) |
|
Lesson 2 Managing Users and Database Roles |
|
|
209 | (13) |
|
|
209 | (2) |
|
|
211 | (5) |
|
|
216 | (2) |
|
|
218 | (1) |
|
|
218 | (3) |
|
|
221 | (1) |
|
|
221 | (1) |
|
|
222 | (1) |
|
|
223 | (2) |
|
|
225 | (4) |
|
Chapter 6 Securing SQL Server 2012 |
|
|
229 | (50) |
|
Lesson 1 Managing Database Permissions |
|
|
230 | (11) |
|
|
230 | (2) |
|
Assigning Permissions on Objects |
|
|
232 | (1) |
|
Managing Permissions by Using Database Roles |
|
|
233 | (3) |
|
Protecting Objects from Modification |
|
|
236 | (1) |
|
|
236 | (2) |
|
Determining Effective Permissions |
|
|
238 | (1) |
|
|
239 | (1) |
|
|
239 | (2) |
|
Lesson 2 Troubleshooting SQL Server Security |
|
|
241 | (9) |
|
Troubleshooting Authentication |
|
|
241 | (3) |
|
Troubleshooting Certificates and Keys |
|
|
244 | (1) |
|
Troubleshooting Endpoints |
|
|
245 | (1) |
|
Using Security Catalog Views |
|
|
246 | (1) |
|
|
247 | (1) |
|
|
248 | (2) |
|
Lesson 3 Auditing SQL Server Instances |
|
|
250 | (21) |
|
|
250 | (12) |
|
Configuring Login Auditing |
|
|
262 | (1) |
|
|
263 | (1) |
|
Common Criteria Compliance |
|
|
264 | (1) |
|
|
264 | (6) |
|
|
270 | (1) |
|
|
270 | (1) |
|
|
271 | (2) |
|
|
273 | (1) |
|
|
274 | (5) |
|
Chapter 7 Mirroring and Replication |
|
|
279 | (48) |
|
Lesson 1 Mirroring Databases |
|
|
280 | (20) |
|
|
280 | (1) |
|
|
281 | (4) |
|
Configuring Mirroring with Windows Authentication |
|
|
285 | (3) |
|
Configuring Mirroring with Certificate Authentication |
|
|
288 | (2) |
|
|
290 | (1) |
|
Role Switching and Failover |
|
|
291 | (1) |
|
Monitoring Mirrored Databases |
|
|
292 | (2) |
|
Upgrading Mirrored Databases |
|
|
294 | (4) |
|
|
298 | (1) |
|
|
298 | (2) |
|
Lesson 2 Database Replication |
|
|
300 | (22) |
|
|
300 | (2) |
|
|
302 | (1) |
|
|
303 | (4) |
|
Transactional Replication |
|
|
307 | (2) |
|
Peer-to-Peer Transactional Replication |
|
|
309 | (2) |
|
|
311 | (4) |
|
|
315 | (2) |
|
Controlling Replication of Constraints, Columns, and Triggers |
|
|
317 | (1) |
|
|
318 | (2) |
|
|
320 | (1) |
|
|
321 | (1) |
|
|
322 | (1) |
|
|
323 | (1) |
|
|
324 | (3) |
|
Chapter 8 Clustering and AlwaysOn |
|
|
327 | (44) |
|
Lesson 1 Clustering SQL Server 2012 |
|
|
328 | (18) |
|
Fulfilling Edition Prerequisites |
|
|
328 | (4) |
|
Creating a Windows Server 2008 R2 Failover Cluster |
|
|
332 | (2) |
|
Installing a SQL Server Failover Cluster |
|
|
334 | (4) |
|
Multi-Subnet Failover Clustering |
|
|
338 | (1) |
|
Performing Manual Failover |
|
|
339 | (1) |
|
Troubleshooting Failover Clusters |
|
|
340 | (4) |
|
|
344 | (1) |
|
|
344 | (2) |
|
Lesson 2 AlwaysOn Availability Groups |
|
|
346 | (19) |
|
What Are AlwaysOn Availability Groups? |
|
|
346 | (1) |
|
Meeting Availability Group Prerequisites |
|
|
347 | (1) |
|
Configuring Availability Modes |
|
|
347 | (2) |
|
|
349 | (3) |
|
Configuring Readable Secondary Replicas |
|
|
352 | (1) |
|
Deploying AlwaysOn Availability Groups |
|
|
353 | (7) |
|
Using Availability Groups on Failover Cluster Instances |
|
|
360 | (4) |
|
|
364 | (1) |
|
|
364 | (1) |
|
|
365 | (1) |
|
|
366 | (1) |
|
|
367 | (4) |
|
Chapter 9 Troubleshooting SQL Server 2012 |
|
|
371 | (46) |
|
Lesson 1 Working with Performance Monitor |
|
|
372 | (7) |
|
Getting Started with Performance Monitor |
|
|
372 | (2) |
|
Capturing Performance Monitor Data |
|
|
374 | (2) |
|
Creating Data Collector Sets |
|
|
376 | (1) |
|
|
377 | (1) |
|
|
378 | (1) |
|
Lesson 2 Working with SQL Server Profiler |
|
|
379 | (10) |
|
Capturing Activity with SQL Server Profiler |
|
|
379 | (5) |
|
|
384 | (1) |
|
|
385 | (1) |
|
Capturing Activity with Extended Events Profiler |
|
|
385 | (2) |
|
|
387 | (1) |
|
|
387 | (2) |
|
Lesson 3 Monitoring SQL Server |
|
|
389 | (6) |
|
|
389 | (3) |
|
Working with Activity Monitor |
|
|
392 | (1) |
|
|
393 | (1) |
|
|
393 | (2) |
|
Lesson 4 Using the Data Collector Tool |
|
|
395 | (8) |
|
Capturing and Managing Performance Data |
|
|
395 | (4) |
|
Analyzing Collected Performance Data |
|
|
399 | (2) |
|
|
401 | (1) |
|
|
402 | (1) |
|
Lesson 5 Identifying Bottlenecks |
|
|
403 | (5) |
|
|
403 | (2) |
|
|
405 | (1) |
|
|
406 | (1) |
|
|
407 | (1) |
|
|
408 | (1) |
|
|
408 | (1) |
|
|
409 | (1) |
|
|
410 | (7) |
|
Chapter 10 Indexes and Concurrency |
|
|
417 | (48) |
|
Lesson 1 Implementing and Maintaining Indexes |
|
|
418 | (24) |
|
Understanding the Anatomy of a Balanced Tree (B-Tree) |
|
|
418 | (2) |
|
Understanding Index Types and Structures |
|
|
420 | (3) |
|
Designing Indexes for Efficient Retrieval |
|
|
423 | (5) |
|
|
428 | (2) |
|
Creating and Modifying Indexes |
|
|
430 | (7) |
|
|
437 | (1) |
|
|
437 | (3) |
|
|
440 | (1) |
|
|
440 | (2) |
|
Lesson 2 Identifying and Resolving Concurrency Problems |
|
|
442 | (16) |
|
Defining Transactions and Transaction Scope |
|
|
442 | (1) |
|
Understanding SQL Server Lock Management |
|
|
442 | (7) |
|
Using AlwaysOn Replicas to Improve Concurrency |
|
|
449 | (1) |
|
Detecting and Correcting Deadlocks |
|
|
450 | (2) |
|
|
452 | (1) |
|
|
453 | (1) |
|
Using Reports for Performance Analysis |
|
|
454 | (3) |
|
|
457 | (1) |
|
|
458 | (1) |
|
|
458 | (2) |
|
|
460 | (1) |
|
|
461 | (4) |
|
Chapter 11 SQL Server Agent, Backup, and Restore |
|
|
465 | (58) |
|
Lesson 1 Managing SQL Server Agent |
|
|
466 | (21) |
|
Executing Jobs by Using SQL Server Agent |
|
|
466 | (5) |
|
|
471 | (3) |
|
|
474 | (7) |
|
Monitoring Multi-Server Environments |
|
|
481 | (3) |
|
|
484 | (1) |
|
|
485 | (2) |
|
Lesson 2 Configuring and Maintaining a Backup Strategy |
|
|
487 | (17) |
|
Understanding Backup Types |
|
|
487 | (4) |
|
Backing Up System Databases |
|
|
491 | (1) |
|
Backing Up Replicated Databases |
|
|
492 | (1) |
|
Backing Up Mirrored Databases |
|
|
493 | (1) |
|
Backing Up AlwaysOn Replicas |
|
|
493 | (1) |
|
Using Database Checkpoints |
|
|
494 | (1) |
|
|
495 | (2) |
|
|
497 | (1) |
|
|
497 | (4) |
|
|
501 | (1) |
|
|
502 | (1) |
|
|
503 | (1) |
|
Lesson 3 Restoring SQL Server Databases |
|
|
504 | (12) |
|
|
504 | (4) |
|
|
508 | (1) |
|
|
509 | (2) |
|
Restoring a Database Protected with Transparent Data Encryption |
|
|
511 | (1) |
|
Restoring System Databases |
|
|
511 | (1) |
|
Restoring Replicated Databases |
|
|
512 | (1) |
|
|
512 | (2) |
|
|
514 | (1) |
|
|
515 | (1) |
|
|
516 | (1) |
|
|
517 | (2) |
|
|
519 | (4) |
|
Chapter 12 Code Case Studies |
|
|
523 | (44) |
|
|
523 | (5) |
|
|
528 | (5) |
|
|
533 | (6) |
|
|
539 | (6) |
|
|
545 | (22) |
Index |
|
567 | |