Acknowledgments |
|
iv | |
Introduction |
|
xiii | |
Part I Developing a Data Protection Strategy |
|
|
Evaluating Data Protection Requirements |
|
|
3 | (36) |
|
|
5 | (2) |
|
|
5 | (1) |
|
Re-Creating Data Is Difficult and Costly |
|
|
6 | (1) |
|
|
6 | (1) |
|
Public Perception Can Make or Break Your Business |
|
|
7 | (1) |
|
|
7 | (4) |
|
Hardware and Software Failures |
|
|
8 | (1) |
|
People with Good Intentions |
|
|
9 | (1) |
|
People with Bad Intentions |
|
|
9 | (1) |
|
|
10 | (1) |
|
|
11 | (1) |
|
|
11 | (2) |
|
Challenges in the Real World |
|
|
13 | (3) |
|
|
13 | (1) |
|
|
13 | (1) |
|
|
14 | (1) |
|
|
14 | (1) |
|
|
15 | (1) |
|
|
15 | (1) |
|
|
16 | (1) |
|
Evaluating Your Environment |
|
|
16 | (13) |
|
|
16 | (1) |
|
|
17 | (1) |
|
The Network Infrastructure |
|
|
18 | (1) |
|
|
18 | (1) |
|
|
18 | (6) |
|
Relational Database Servers |
|
|
24 | (4) |
|
|
28 | (1) |
|
Evaluating Your Business Requirements |
|
|
29 | (8) |
|
|
29 | (1) |
|
Estimating Your Data Storage REquirements |
|
|
30 | (1) |
|
Availability of Crucial Information |
|
|
31 | (2) |
|
|
33 | (1) |
|
|
33 | (1) |
|
Budgeting for Data Protection |
|
|
33 | (3) |
|
A Sample Business Requirements Worksheet |
|
|
36 | (1) |
|
|
37 | (2) |
|
Developing the Data Protection Plan |
|
|
39 | (46) |
|
Data Protection Methodologies |
|
|
41 | (10) |
|
|
42 | (7) |
|
|
49 | (2) |
|
Choosing the Right Method |
|
|
51 | (1) |
|
Backup and Recovery Technology |
|
|
51 | (3) |
|
|
51 | (2) |
|
|
53 | (1) |
|
|
53 | (1) |
|
Business and Management Solutions |
|
|
54 | (8) |
|
|
54 | (1) |
|
Getting Help: Outsourcing |
|
|
55 | (1) |
|
Organizing Backups and Media |
|
|
55 | (1) |
|
|
56 | (2) |
|
|
58 | (1) |
|
|
58 | (2) |
|
|
60 | (2) |
|
General IT Best Practices |
|
|
62 | (6) |
|
Determining Security Requirements |
|
|
63 | (2) |
|
|
65 | (2) |
|
Change and Configuration Management |
|
|
67 | (1) |
|
|
68 | (1) |
|
Controlling Resource Usage |
|
|
68 | (1) |
|
Creating the Data Protection Plan |
|
|
68 | (4) |
|
Studying Your Environment |
|
|
69 | (1) |
|
|
69 | (1) |
|
Using the Iterative Approach and Setting Milestones |
|
|
70 | (1) |
|
|
70 | (2) |
|
|
72 | (1) |
|
|
72 | (1) |
|
Implementing the Data Protection Plan |
|
|
72 | (2) |
|
Training the Right People |
|
|
72 | (1) |
|
|
73 | (1) |
|
Delegating Responsibility |
|
|
73 | (1) |
|
Reviewing and Maintaining the Plan |
|
|
74 | (1) |
|
Ensuring That the Plan Is Flexible |
|
|
74 | (1) |
|
Ensuring Physical Security |
|
|
74 | (1) |
|
What Would an Intruder Do? |
|
|
75 | (1) |
|
Establishing External Security Audits |
|
|
75 | (1) |
|
A Sample Data Protection Plan |
|
|
75 | (6) |
|
|
81 | (4) |
Part II Understanding Data Protection Technology |
|
|
Windows NT/2000 Security and Data Protection |
|
|
85 | (80) |
|
Security and Data Protection Best Practices |
|
|
86 | (10) |
|
Know the Ways of Your Enemies |
|
|
87 | (1) |
|
|
88 | (1) |
|
|
88 | (4) |
|
Protecting Against Viruses and Malicious Code |
|
|
92 | (1) |
|
Defining a Backup Schedule |
|
|
93 | (1) |
|
Security Management Tools |
|
|
94 | (2) |
|
Windows NT 4 Data Protection |
|
|
96 | (27) |
|
|
96 | (2) |
|
The Windows NT Emergency Repair Disk |
|
|
98 | (1) |
|
Implementing Strong Password Policies |
|
|
99 | (1) |
|
|
100 | (5) |
|
Using Windows NT Diagnostics |
|
|
105 | (1) |
|
|
105 | (9) |
|
|
114 | (1) |
|
|
114 | (4) |
|
Windows NT Network Security |
|
|
118 | (3) |
|
|
121 | (2) |
|
|
123 | (1) |
|
Windows 2000 Data Protection |
|
|
123 | (17) |
|
|
125 | (5) |
|
Backup and Recovery Tools |
|
|
130 | (2) |
|
|
132 | (2) |
|
Disk Management and Dynamic Volumes |
|
|
134 | (2) |
|
|
136 | (3) |
|
|
139 | (1) |
|
|
139 | (1) |
|
Windows NT/2000 Data Recovery |
|
|
140 | (3) |
|
|
141 | (1) |
|
Fixing Corrupt Boot Files |
|
|
141 | (1) |
|
Performing a Complete System Restoration |
|
|
142 | (1) |
|
Monitoring and Optimizing Performance |
|
|
143 | (17) |
|
Performance Monitoring Methodology |
|
|
143 | (1) |
|
Windows NT/2000 Performance Tools |
|
|
144 | (6) |
|
Windows NT/2000 Task Manager |
|
|
150 | (6) |
|
Windows NT/2000 Network Monitor |
|
|
156 | (2) |
|
Windows 95/98/ME System Monitor |
|
|
158 | (2) |
|
|
160 | (4) |
|
|
160 | (1) |
|
The Windows NT Option Pack |
|
|
160 | (1) |
|
|
161 | (1) |
|
Security-Related Hot Fixes, Patches, and Bulletins |
|
|
162 | (2) |
|
Downloading Software Updates |
|
|
164 | (1) |
|
|
164 | (1) |
|
SQL Server 2000 Architecture |
|
|
165 | (90) |
|
|
167 | (9) |
|
|
168 | (5) |
|
Domain, Entity, and Referential Integrity |
|
|
173 | (1) |
|
Structured Query Language |
|
|
174 | (2) |
|
|
176 | (19) |
|
Different Editions of SQL Server 2000 |
|
|
177 | (1) |
|
|
177 | (4) |
|
Data Storage Architecture |
|
|
181 | (3) |
|
Backup and Recovery Architecture |
|
|
184 | (2) |
|
New Features in SQL Server 2000 |
|
|
186 | (3) |
|
The Transact-SQL Language |
|
|
189 | (5) |
|
|
194 | (1) |
|
|
194 | (1) |
|
Working with SQL Server 2000 |
|
|
195 | (7) |
|
|
196 | (1) |
|
|
197 | (1) |
|
Data Transformation Services |
|
|
198 | (2) |
|
|
200 | (2) |
|
|
202 | (25) |
|
|
204 | (5) |
|
Database User Permissions |
|
|
209 | (1) |
|
|
210 | (7) |
|
|
217 | (4) |
|
|
221 | (4) |
|
SQL Server Security Best Practices |
|
|
225 | (2) |
|
Performance Monitoring and Optimization |
|
|
227 | (19) |
|
|
227 | (4) |
|
|
231 | (3) |
|
|
234 | (6) |
|
Scalability and Benchmarks |
|
|
240 | (1) |
|
Scheduling Jobs with SQL Server Agent |
|
|
240 | (5) |
|
|
245 | (1) |
|
Developing SQL Server Applications |
|
|
246 | (3) |
|
n-Tier Client/Server Architecture |
|
|
247 | (1) |
|
Accessing Data from Applications |
|
|
247 | (1) |
|
|
248 | (1) |
|
SQL Server 2000 Analysis Services |
|
|
249 | (5) |
|
|
249 | (1) |
|
Analysis Services and Online Analytical Processing (OLAP) |
|
|
250 | (2) |
|
|
252 | (1) |
|
|
253 | (1) |
|
|
254 | (1) |
|
Evaluating Data Protection Solutions |
|
|
255 | (50) |
|
Evaluating Your Environment |
|
|
256 | (11) |
|
|
257 | (1) |
|
Estimating the Data Volume |
|
|
258 | (5) |
|
|
263 | (1) |
|
Live vs. Offline Database Backups |
|
|
263 | (2) |
|
Leveraging Your Existing Resources |
|
|
265 | (1) |
|
|
266 | (1) |
|
|
267 | (10) |
|
|
267 | (1) |
|
|
268 | (1) |
|
|
269 | (3) |
|
|
272 | (3) |
|
Uninterruptible Power Supplies |
|
|
275 | (2) |
|
Evaluating Backup Hardware |
|
|
277 | (8) |
|
Characteristics of Backup Devices |
|
|
277 | (2) |
|
|
279 | (2) |
|
|
281 | (2) |
|
Advanced Backup Solutions |
|
|
283 | (1) |
|
Vendors of Third-Party Hardware |
|
|
284 | (1) |
|
Evaluating Backup Software |
|
|
285 | (4) |
|
|
286 | (1) |
|
|
287 | (1) |
|
Disaster Recovery Options |
|
|
288 | (1) |
|
|
288 | (1) |
|
Third-Party Software Products |
|
|
289 | (10) |
|
Vendors of Backup Software |
|
|
290 | (1) |
|
Data Protection Utilities |
|
|
291 | (4) |
|
|
295 | (4) |
|
Making Sound Business Decisions |
|
|
299 | (3) |
|
Total Cost of Ownership (TCO) |
|
|
300 | (1) |
|
Return on Investment (ROI) |
|
|
301 | (1) |
|
|
302 | (3) |
Part III Backup Procedures and Methods |
|
|
Performing Database Backups |
|
|
305 | (86) |
|
Designing SQL Server Storage |
|
|
307 | (19) |
|
|
307 | (4) |
|
|
311 | (1) |
|
|
312 | (14) |
|
Optimizing Storage Design |
|
|
326 | (1) |
|
SQL Server 2000 Backup Methods |
|
|
326 | (15) |
|
Offline vs. Online Backups |
|
|
327 | (1) |
|
|
328 | (1) |
|
Attaching and Detaching Databases |
|
|
329 | (1) |
|
|
330 | (6) |
|
Choosing Database Recovery Models |
|
|
336 | (2) |
|
Establishing a Backup Schedule |
|
|
338 | (2) |
|
Additional Backup Solutions |
|
|
340 | (1) |
|
SQL Server 2000 Backup and Recovery Architecture Enhancements |
|
|
341 | (8) |
|
|
342 | (1) |
|
|
342 | (1) |
|
|
343 | (1) |
|
|
344 | (4) |
|
|
348 | (1) |
|
Implementing SQL Server Backups |
|
|
349 | (36) |
|
|
349 | (6) |
|
The Database Maintenance Plan Wizard |
|
|
355 | (10) |
|
Modifying Database Maintenance Plans |
|
|
365 | (1) |
|
|
366 | (19) |
|
Optimizing Backup Performance |
|
|
385 | (3) |
|
|
385 | (1) |
|
Using Performance Monitor |
|
|
386 | (1) |
|
|
386 | (2) |
|
|
388 | (3) |
|
|
391 | (50) |
|
Planning for Data Recovery |
|
|
392 | (8) |
|
Establishing Recovery Procedures |
|
|
392 | (1) |
|
Performing Test Restorations |
|
|
393 | (4) |
|
Delegating Roles and Responsibilities |
|
|
397 | (2) |
|
Creating Contingency Plans |
|
|
399 | (1) |
|
|
400 | (18) |
|
|
400 | (1) |
|
Performing a Complete Reinstallation |
|
|
401 | (1) |
|
Disaster Recovery Options |
|
|
402 | (1) |
|
Database and Server Corruption |
|
|
402 | (8) |
|
|
410 | (8) |
|
Resetting Corrupted or Suspect Databases |
|
|
418 | (1) |
|
|
418 | (4) |
|
|
419 | (1) |
|
Using Differential Backups |
|
|
420 | (1) |
|
Applying Transaction Logs |
|
|
421 | (1) |
|
Recovering Files and Filegroups |
|
|
421 | (1) |
|
Restoring to a Specific Point in Time |
|
|
422 | (1) |
|
Recovering SQL Server Databases |
|
|
422 | (18) |
|
|
423 | (1) |
|
|
423 | (1) |
|
|
424 | (6) |
|
|
430 | (10) |
|
|
440 | (1) |
|
Backup and Recovery Scenarios, Tools, and Techniques |
|
|
441 | (72) |
|
Simple Backup for a Small Database |
|
|
442 | (11) |
|
Requirements and Scenario Overview |
|
|
442 | (1) |
|
|
443 | (1) |
|
Full Backups Every Four Hours |
|
|
444 | (6) |
|
Full Backups with Transaction Log Dumps |
|
|
450 | (2) |
|
|
452 | (1) |
|
Backup Options for a Large Database |
|
|
453 | (15) |
|
Requirements and Scenario Overview |
|
|
454 | (1) |
|
|
454 | (1) |
|
Solution: Full, Differential, and Transaction Log Backups |
|
|
455 | (12) |
|
|
467 | (1) |
|
|
468 | (1) |
|
Automating Tasks with SQL Server Agent |
|
|
468 | (21) |
|
Configuring SQL Server Agent |
|
|
468 | (6) |
|
|
474 | (3) |
|
|
477 | (4) |
|
|
481 | (4) |
|
|
485 | (2) |
|
Multiserver Administration |
|
|
487 | (2) |
|
Importing, Exporting, and Transferring Data |
|
|
489 | (17) |
|
|
490 | (2) |
|
|
492 | (7) |
|
|
499 | (7) |
|
Additional Scripting Tools and Techniques |
|
|
506 | (4) |
|
Resetting ``Suspect'' Databases |
|
|
506 | (1) |
|
Restarting Interrupted Backup and Restore Operations |
|
|
506 | (1) |
|
Managing the Size of the Msdb Database |
|
|
507 | (1) |
|
Creating a Script That Writes Scripts |
|
|
507 | (1) |
|
Centralizing Server Registrations |
|
|
508 | (1) |
|
Changing the Name of a SQL Server Installation |
|
|
509 | (1) |
|
|
510 | (3) |
Part IV Advanced Data Protection Methods |
|
|
Advanced Data Protection: Replication, Log-Shipping, and Clustering |
|
|
513 | (94) |
|
Overview: Scalability, Reliability, Performance |
|
|
514 | (3) |
|
Scaling Up vs. Scaling Out |
|
|
515 | (2) |
|
|
517 | (1) |
|
|
517 | (1) |
|
SQL Server's Replication Model |
|
|
517 | (14) |
|
|
519 | (1) |
|
|
520 | (1) |
|
|
521 | (1) |
|
|
522 | (3) |
|
|
525 | (1) |
|
|
526 | (2) |
|
|
528 | (1) |
|
Enhancements in SQL Server 2000 Replication |
|
|
529 | (2) |
|
Implementing SQL Server Replication |
|
|
531 | (33) |
|
|
532 | (11) |
|
Creating and Managing Publications |
|
|
543 | (12) |
|
Creating Push and Pull Subscriptions |
|
|
555 | (1) |
|
|
556 | (2) |
|
|
558 | (1) |
|
Working in Heterogeneous Environments |
|
|
559 | (1) |
|
Monitoring SQL Server Replication |
|
|
559 | (5) |
|
Strategies for Backing Up Replication |
|
|
564 | (1) |
|
|
564 | (23) |
|
Overview of Standby Servers |
|
|
565 | (1) |
|
|
566 | (3) |
|
Implementing SQL Server Log-Shipping |
|
|
569 | (18) |
|
|
587 | (18) |
|
|
589 | (4) |
|
|
593 | (5) |
|
Microsoft Clustering Solutions |
|
|
598 | (6) |
|
The Future of Clustering Technology |
|
|
604 | (1) |
|
|
605 | (2) |
|
Case Studies: Solving Business Challenges |
|
|
607 | (20) |
|
Mom & Pop's Bloomin' Garden Shop |
|
|
609 | (4) |
|
|
609 | (1) |
|
|
610 | (2) |
|
|
612 | (1) |
|
|
613 | (4) |
|
|
613 | (2) |
|
|
615 | (1) |
|
|
616 | (1) |
|
|
617 | (4) |
|
|
617 | (1) |
|
|
618 | (3) |
|
|
621 | (1) |
|
|
621 | (4) |
|
|
622 | (1) |
|
|
623 | (2) |
|
|
625 | (1) |
|
|
625 | (2) |
A SQL Server 2000 Backup and Recovery Reference |
|
627 | (46) |
|
|
628 | (8) |
|
|
628 | (5) |
|
Useful Extended Stored Procedures |
|
|
633 | (3) |
|
|
636 | (6) |
|
|
637 | (3) |
|
|
640 | (2) |
|
|
642 | (1) |
|
|
642 | (1) |
|
|
642 | (4) |
|
|
646 | (3) |
|
SQL Server Configuration Options |
|
|
649 | (4) |
|
Backup and Recovery System Tables |
|
|
653 | (18) |
|
System Tables in Master Database |
|
|
656 | (1) |
|
System Tables in All User Databases |
|
|
657 | (1) |
|
Backup Tables in Msdb Database |
|
|
658 | (3) |
|
Restore Tables in Msdb Database |
|
|
661 | (1) |
|
Database Maintenance Plan Tables in Msdb Database |
|
|
662 | (2) |
|
Log-Shipping Tables in Msdb Database |
|
|
664 | (3) |
|
Job Tables in Msdb Database |
|
|
667 | (4) |
|
|
671 | (2) |
B Resources for More Information |
|
673 | (14) |
|
|
674 | (6) |
|
|
674 | (1) |
|
Microsoft Developer Network (MSDN) |
|
|
675 | (1) |
|
|
676 | (1) |
|
|
677 | (1) |
|
Phone-Based Technical Support |
|
|
677 | (1) |
|
Training and Certification |
|
|
678 | (2) |
|
|
680 | (3) |
|
|
680 | (1) |
|
|
680 | (3) |
|
|
683 | (4) |
Index |
|
687 | |