Microsoft SQL Server backup: in-depth, start-to-finish, for every DBA!
Written by a Microsoft senior consultant who specializes in SQL Server enterprise deployments, SQL Server Backup and Recovery is a comprehensive guide to protecting and restoring SQL Server databases. The book is organized to serve as both a hands-on tutorial and a long-term reference. Coverage includes:
SQL Server Backup and Recovery contains scripts and sample code designed to automate and streamline the backup and recovery processtools field-proven in enterprise deployments. If you're responsible for protecting the data in a Microsoft SQL Server database, this is the realistic, systematic guide you've been searching for!
(NOTE: Each chapter ends with summary.)
Who This Book Is For.
How This Book Is Organized.
What You'll Need.
1. Planning, Architecture Overview, and Practical Experience.
Planning Your Backup and Recovery. The Role of Backups. You're Only as Good as Your Last “Good” Backup. Types of Backups. How BACKUP Works. Databases You Should Back Up. Database Maintenance Plans. Backup Security. How RESTORE Works. Recovery Models. How Recovery Models Work. Setting Recovery Models. Changing Recovery Models. Limitations on Recovery Models. Recovery Model Backup Compatibility Matrix. Practical Experience.
SQL Server Tools. Backup Devices. Using Enterprise Manager to Define a Backup Device. Using Transact SQL to Define a Backup Device. Adding a Disk Backup Device with sp_addumpdevice. Adding a Tape Backup Device with sp_addumpdevice. Viewing Backup Devices. Dropping Backup Devices. Introduction to Backup Methods. Using the EM to Run a Backup. Using the Command Line to Back Up a Database. Backing Up a Database to Disk. Backing Up a Database to Tape. Making a Differential Database Backup. Backing Up Filegroups. Transaction Logs. Transaction Log Backup. Recovering the Tail of a Transaction Log. Backing Up a Whole SQL Server. Offline Backup. Backing Up an Entire Online Server. Backing Up a Table. Select Into. bcp. Running bcp. Data-Loading Strategies and bcp. DTS. DTS Performance Considerations. Flat File Backups. Performing Cold Backups of an NT File. Filesystem Backup: Architecture and Performance Considerations. Using sp_detach_db to Back Up. Scheduling Backups. Using SQL Server Agent with Your Backups. Using AT. Integrating E-Mail into Your Backup. Backup Performance and Operational Considerations. Striping with Tape Systems. Compression: Tape, OS, and Databases. Long-Term Storage. Compressed Volumes and SQL Server: Databases, Transaction Logs, and Backups. Monitoring the Completion of a Backup. Monitoring the Performance of a Backup. Tuning Up BACKUP.
Appended Backups. Restoring a Database from Disk. Restoring a Database from Tape Using the Command Line. Large Restore from Tape. How to Restore a Database Using Transaction Logs. Assumptions. Process. Example. Recovery with Differential Backups. Assumptions. Process. Example. Restoring from a Differential Backup with Transaction Logs from a Tape Device. Restoring to a Point in Literal Time from Tape. Full Backup with Multiple Transaction Logs. Bringing It All Together: Moving Data Centers Using Standby Servers. Source Database Server. Target Standby Database Server. Other Uses for a Standby Server. Moving Database Files on a Restore. Restoring to a Marked Transaction. Results of Script. Restoring Files and Filegroups. Example. Recovering msdb. Example. Restoring Usernames and Logins. Recovering a Database with a Transaction Log Only. Example.
Rebuilding and Recovering the master Database. Scenario. Restoring the master Database. Potential Problems in Rebuilding and Restoring the master Database. Recovering Other Databases after master Has Been Rebuilt. Using the RESTORE Command. Using the sp_attach_db Method. Notes on Logins and Users after a master Rebuild. Program to Generate Logins from the User Database. Remapping Orphaned Users. Recovering msdb. Process. Script.
Establishing a Game Plan. Sizing Up the Situation. Common Diagnostic Tools. DBCC. SQLDIAG.EXE. Introduction to DBCC PAGE. DBCC PAGE Syntax. Finding and Repairing Corrupt Data with DBCC CHECKDB. Using Indexes to Recover Data. Case One. Case Two. Corruption That's Hard to Detect. Fixing Corrupt Nonclustered Indexes. Backing Up and Restoring Corruption. Retrieving Data Using DBCC PAGE. Using sp_attach_single_file_db to Recover an MDF File.
Pros and Cons of Some High-Availability Solutions. Simple Log Shipping. Preliminary Steps. Creating a Maintenance Plan for Log Shipping. Explanation of the Files. SQL Agent Jobs. Maintenance Plans. Testing to See if Log Shipping is Really Working. Removing Log Shipping. Two Secondary Servers. Creating a Maintenance Plan for Log Shipping with Two Secondary Servers. Primary/Secondary to Primary/Secondary. Failing Over: Network Load Balancing Router. No Recovery Mode and Standby Mode. Log Shipping Monitor. Viewing the Log Shipping Monitor. Role Change to the Standby Log Shipping Server. Failing Over if Both Servers Are Accessible. Logins and Users During Log Shipping. Failing Over in an Emergency: Only the Destination Server Is Up. Re-Establishing Log Shipping After Recovering the Primary. Good Ideas Before Failing Over. Potential Problems During Log Shipping.
This book will benefit any computing professional who is responsible for the management of a SQL Server database computing environment, particularly in an enterprise where backup and recovery are important. It is designed to be both a training guide and reference resource.Why a Book on SQL Server Backup and Recovery?
There are many great books out there on SQL Server administration. Most of them cover the subjects that DBAs need to know something about. They are both reference books and learning tools. The problem with "one size fits all" books, however, is there are so many topics to cover that many get glossed over with just the basics. The books are so large (often 900 pages or more) that it is almost impractical to carry them around. Invariably, they are an awkward size to fit anywhere, much less in a computer bag. As a field consultant, half my suitcase is usually taken up by these types of books . . . when in reality, I usually just need a chapter or two from them.
When reading these books, I find they are really great, but they seem to lack the depth needed for professionals who are trying to solve specific problems, or they don't cover their topics sufficiently.
Many books and magazines just focus on the current, new, cool technologies and fail to address the daily, basic "care and feeding" of a database. Backups tend to fall into this latter category. Thus, not too much is written on them even when they are covered. And for a critical topic, that's hard to ignore.
This book takes the opposite approach; it is a concise monograph on one topic: SQL Server backup and recovery. The goal was to cover a wide variety of backup and recovery issues, provide plenty of examples, and go over the tools and techniques involved.
Nothing to me is more frustrating than looking at a raw syntax dump in a vendor's reference manual and trying to solve a problem. Often, there is no context or relevant examples. I can never get syntax to work just right the first time, and it usually involves lots of trial and error. And when I do get it to work, it takes hours to formulate a solution. In many situations, a quick example could save a lot of time and give me a sense of where I need to go. This book aims at bridging that gap: incomplete documentation with not enough examples, and back-breaking tomes that gloss over important issues.
Another goal of this book is to provide not only an example, but also the output from it. This way, you can logically follow the progression of a scenario and compare the results to your current situation. Often, when I try other peoples' examples, I wonder if they ever run their own code to see if it works. Bugs never inspire confidence.
Additionally, I will try to supply all the dependencies around a scenario. For example, after restoring a database, you may need to rebuild user logins. This may not be obvious until you bring the database up and people can't access their data.
We'll talk about proactive solutions as well as what to do when things go wrong. We'll size up each situation and put together a game plan to solve it in a methodical manner.
This book is not a disaster recovery planning book. Backup and recovery fit into any disaster recovery scheme, but it would require a whole book to adequately cover this topic alone. That said, there are many good books out there on this topic. I strongly suggest you find one that meets your requirements and integrate your backup and recovery solutions into the larger company-wide strategy.How This Book Is Organized
This book is divided into six chapters, which cover issues such as backing up data, restoring data, recovering the master database, log shipping, and data recovery techniques. Each chapter will have examples to illustrate the concepts being presented.
For those who want to understand how a database gets archived, C. Mohan and Inderpal Narang have generously allowed the reprinting of their ACM paper, "An Efficient and Flexible Method for Archiving a Data Base." This paper covers fundamental algorithms. It is included as Appendix A.What You'll Need
This book focuses on SQL Server 2000. All the examples were developed and tested on SQL Server 2000 Enterprise Edition, although any version of SQL Server 2000 will work.
A tape drive is helpful in making backups, but is not mandatory. This book covers backing up to tape and disk.
Many of the examples here are applicable to earlier versions of SQL Server also, but have not been tested for those environments.