You are previewing Microsoft® SQL Server™ 2000 High Availability.
O'Reilly logo
Microsoft® SQL Server™ 2000 High Availability

Book Description

Ensuring 24/7 database availability is crucial to your company’s success. Discover the best ways to help keep your critical, Microsoft SQL Server 2000–based systems up and running—and secure—with this in-depth guide, straight from the source.

Table of Contents

  1. Microsoft® SQL Server™ 2000 High Availability
  2. A Note Regarding Supplemental Files
  3. Foreword
  4. Preface
  5. Acknowledgments
    1. Allan Hirt
    2. Cathan Cook
    3. Frank McBath
    4. Kimberly L. Tripp
  6. I. The High Availability Primer
    1. 1. Preparing for High Availability
      1. High Availability—What It Is and How to Get It
        1. Prevention
        2. Disaster Recovery
      2. Agreeing on a Solution
        1. The Project Team
        2. Guiding Principles for High Availability
        3. Making Trade-Offs
        4. Identifying Risks
        5. Next Steps
      3. Availability Calculations and Nines
        1. Calculating Availability
        2. What Is a Nine?
        3. What Level of Nines Is Needed?
        4. Negotiating Availability
      4. Types of Unavailability
      5. Where Does Availability Start?
        1. Assessing Your Environment for Availability
        2. The Cost of Availability
        3. Barriers to Availability
      6. Summary
    2. 2. The Basics of Achieving High Availability
      1. Data Center Best Practices
        1. Location
        2. Security
        3. Cabling, Power, Communications Systems, and Networks
        4. Third-Party Hosting
        5. Support Agreements
        6. The "Under the Desk" Syndrome
      2. Staffing
        1. Creating a Database Team
        2. Service Level Agreements
      3. Manage Change or Be Managed by It
        1. Change Management for Databases: The Basics
        2. Development, Testing, and Staging Environments
          1. Maintaining Separate Environments
            1. Change Request Form
        3. Managing Change and Availability in Development
          1. High Availability Is Not Just an IT Problem
          2. Version Control
          3. Testing Applications for High Availability
        4. Managing Change in Production
        5. Preparing for Change
          1. The Change Plan
          2. Contingency Plans
          3. Implementation Team
          4. Determining an Implementation Window
          5. Planning the Implementation, Twice
          6. Testing the Implementation
          7. Release Readiness Review
          8. Completing a Change Request Form
        6. Implementing Change
          1. Step 1: Notify Users of the Systems
          2. Step 2: Back Up, Back Up, Back Up
          3. Step 3: The Rollout
          4. Step 4: When It Is All Over
      4. System and Process Standardization
      5. Documentation
      6. Summary
    3. 3. Making a High Availability Technology Choice
      1. Windows Clustering
        1. Server Clusters
          1. Cluster Components
          2. Cluster Concepts
        2. Network Load Balancing Clusters
      2. Geographically Dispersed Clusters
      3. SQL Server 2000
        1. Failover Clustering
          1. SQL Server 2000 Failover Clustering versus Previous SQL Server Clustering Implementations
          2. How SQL Server Failover Clustering Works
          3. Clients and SQL Server 2000 Failover Clustering
          4. Failover Clustering and Wasted Resources
        2. Log Shipping
          1. Log Shipping Transactions
          2. Clients and Log Shipping
        3. Replication
          1. Replication Issues
          2. Clients and Replication
        4. Backup and Restore
      4. Decisions, Decisions ...
        1. The Decision Process
          1. Step 1: Analyzing Requirements
          2. Step 2: Comparing Technologies
          3. Step 3: Selecting Technology
        2. A Comparison of the SQL Server Technologies
          1. Choosing Between Log Shipping and Transactional Replication
          2. Choosing Between Failover Clustering and Log Shipping or Replication
          3. Using the SQL Server Availability Technology Comparison Table
        3. What Should You Use?
      5. Summary
  7. II. Technology Building Blocks
    1. 4. Disk Configuration for High Availability
      1. Quick Disk Terminology Check
      2. Capacity Planning
        1. Raw Disk Space Needed
        2. Application Database Usage
          1. Application Schema
          2. Indexes
          3. Deletes, Inserts, Selects, and Updates
        3. Understanding Physical Disk Performance
        4. Using SQL Server to Assist with Disk Capacity Planning
      3. Types of Disk Subsystems
        1. Direct-Attached Storage
        2. Network-Attached Storage
          1. Performance Considerations
          2. Using Network-Attached Storage as a Data Store with SQL Server
        3. Storage Area Networks
        4. What Disk Technology to Use
      4. Server Clusters, Failover Clustering, and Disks
      5. Pre-Windows Disk Configuration
        1. Number of Spindles Needed
          1. Step 1—Amount of Data Being Returned
          2. Step 2—Individual Drive Throughput
          3. Step 3—Calculating Number of Spindles
        2. Understanding Disk Drives
        3. Understanding Your Hardware
        4. Understanding How SQL Server Interacts with Disks
          1. Types of SQL Server Systems
        5. Understanding Disk Cache
        6. A RAID Primer
          1. Striping
          2. Mirroring
          3. Striped Mirrors
          4. Mirrored Stripes
          5. Striping with Parity
          6. Hardware RAID versus Software RAID
        7. Remote Mirroring
        8. Storage Composition
        9. Types of Disks and File Systems in Windows
        10. Formatting the Disks
      6. File Placement and Protection
        1. System Databases and Full-Text Indexes
        2. User Databases
        3. Databases, the Quorum, and Failover Clustering
        4. Files and Filegroups
      7. Database File Size
        1. Shrinking Databases and Files
      8. Configuration Example
        1. The Scenario
        2. Sample Drive Configurations
          1. Sample 1
          2. Sample 2
          3. Sample 3
          4. Sample 4
          5. Sample 5
      9. Summary
    2. 5. Designing Highly Available Microsoft Windows Servers
      1. General Windows Configuration for SQL Servers
        1. Choosing a Version of Windows
          1. 32-Bit Versus 64-Bit
        2. Versions of SQL Server and Windows Server 2003
        3. Disk Requirements for Windows
        4. Security
          1. Terminal Server
        5. Windows Server 2003 Enhancements
          1. Server Roles
          2. Shutdown
      2. High Availability Options for Windows
        1. Windows Reliability Features
          1. Windows 2000 Server
          2. Windows Server 2003
      3. Server Clusters
        1. Planning a Server Cluster
          1. Types of Server Clusters
          2. Disk Subsystem
          3. Cluster Service Account
          4. Server Clusters, the Hardware Compatibility List, and the Windows Catalog
        2. Certified Cluster Applications
        3. Ports, Firewalls, Remote Procedure Calls, and Server Clusters
        4. Geographically Dispersed Clusters
        5. Antivirus Programs, Server Clusters, and SQL Server
        6. Server Clusters, Domains, and Networking
          1. Network Configuration
          2. Network Card Configuration
            1. Public Network Configuration
            2. Private Network (Heartbeat) Configuration
        7. Implementing a Server Cluster
          1. Preconfiguration Tasks
            1. Configuring Network Cards
            2. Network Cards Used on the Public Network
            3. Network Cards Used on the Private Network
            4. Changing Network Priority
            5. Verifying Your Network Connectivity
            6. Creating the Shared Disks
          2. Installing the Server Cluster
          3. Postconfiguration Tasks
            1. Configuring Network Priorities
            2. Enabling Kerberos
            3. Changing the Size of the Cluster Log
            4. Configuring MS DTC
            5. Creating MS DTC on Windows 2000 Server
            6. Creating MS DTC on Windows Server 2003
          4. Verifying Your Server Cluster Installation
            1. Verifying Connectivity and Name Resolution
            2. Failover Validation
      4. Server Cluster Administration
        1. Changing Domains
        2. Changing a Node’s IP Address or Name
        3. Changing Service Accounts and Passwords
          1. Windows 2000 Server
          2. Windows Server 2003
        4. Disk Management
          1. Adding a New Disk
          2. Using DISKPART to Expand Disk Capacity
        5. Forcing Quorum for an MNS Cluster
      5. Network Load Balancing
        1. General Network Load Balancing Best Practices
        2. Implementing Network Load Balancing for SQL Server–Based Architectures
          1. Configuring the Network Cards
          2. Configuring Network Load Balancing for Use with SQL Server
            1. Starting Network Load Balancing on the Primary
          3. Verifying a Network Load Balancing Cluster
            1. Switch Method
            2. Read-Only SQL Servers
        3. Adding a Network Load Balancing Cluster to DNS
        4. Configuring Logging for Network Load Balancing Manager
        5. Uninstalling Network Load Balancing
      6. Summary
  8. III. Microsoft SQL Server Technology
    1. 6. Microsoft SQL Server 2000 Failover Clustering
      1. Planning for Failover Clustering
        1. Versions of Windows Supported
        2. Number of SQL Server 2000 Instances per Server Cluster
        3. Name of the SQL Server Virtual Server
        4. Number of Nodes
        5. Disks
        6. IP Addresses, Ports, and Network Card Usage
        7. Applications and Failover Clustering
        8. Third-Party Applications, File Shares, Dependencies, and SQL Server 2000 Failover Clustering
        9. Hardware-Assisted Backups and SQL Server 2000 Failover Clustering
        10. Service Accounts and SQL Server 2000 Failover Clustering
        11. Memory
        12. Coexistence with Stand-Alone Instances and Other Versions of SQL Server
        13. Analysis Services and Failover Clustering
        14. SQL Mail and Failover Clustering
        15. Exchange and SQL Server on the Same Cluster
        16. Cluster Group Configuration for Failover Clustering
      2. Implementing SQL Server 2000 Failover Clustering
        1. Prerequisites
        2. Installation Order
          1. Windows 2000 Advanced Server and Windows 2000 Datacenter Server
          2. Windows Server 2003 Enterprise Edition and Windows Server 2003 Datacenter Edition
        3. Installing a SQL Server Virtual Server
        4. Postinstallation Tasks
          1. Configuring Antivirus Software
          2. Adding Drives for SQL Server Use
            1. Verifying the Drive Configuration
          3. Disabling Unnecessary Services
          4. Assigning a Static Port Number
          5. Enabling Advanced Security
            1. IPSec
            2. Kerberos
            3. SSL Certificates
          6. Configuring SQL Server Resources
            1. Setting Preferred Owners
            2. Failing Back to the Preferred Owner, Thresholds, and Other Parameters
            3. Resource Group Failback
            4. Configuring Resource Parameters
            5. Cluster Group Thresholds
      3. Verifying Your Failover Cluster Installation
        1. Verifying Connectivity and Name Resolution
          1. Verifying Connectivity and Name Resolution from a Server Node
          2. Verifying Connectivity and Name Resolution from a Client
          3. Validating Failover
        2. Verifying the SQL Server Service Account and Node Participation
        3. Verifying the Application with Failover
      4. Administering SQL Server Virtual Servers
        1. Ensuring a Virtual Server Will Not Fail Due to Other Service Failures
        2. Adding or Removing a Cluster Node from the Virtual Server Definition and Adding, Changing, or Updating a TCP/IP Address
        3. Renaming a SQL Server 2000 Virtual Server
        4. Uninstalling a SQL Server Virtual Server
        5. Manually Removing Failover Clustering
        6. Manually Removing Clustered Instances of SQL Server
        7. Changing SQL Server Service Accounts
          1. SQL Server Service Account
          2. SQL Server Agent Service Account
        8. Changing Domains
      5. Troubleshooting SQL Server 2000 Failover Clusters
        1. Barriers for Failover Clustering
          1. Support for Failover Clustering
        2. The Troubleshooting Process
          1. Where to Look for Problems
          2. Microsoft Product Support Reporting Tool
          3. Common Troubleshooting Issues
            1. Installation Problems
            2. Connectivity
          4. Full-Text Search Setup
      6. Disaster Recovery for Failover Clustering
        1. Scenario 1: Quorum Disk Failure
        2. Scenario 2: Cluster Database Corruption on a Node
        3. Scenario 3: Quorum Corruption
        4. Scenario 4: Checkpoint Files Lost or Corrupt
        5. Scenario 5: Cluster Node Failure
          1. Single Node Failure
          2. Multiple Node Failure
          3. All Nodes Failed
        6. Scenario 6: A Cluster Disk Is Corrupt or Nonfunctional
        7. If You Do Not Have Backups
          1. Problems on One or More Cluster Nodes
          2. Bad Quorum Disk, Intact Cluster Nodes
          3. Corrupt Cluster Database on One Node
          4. Corrupt Quorum
          5. Corrupt or Missing Checkpoint Files
          6. Corrupt or Bad Cluster Disk
      7. Summary
    2. 7. Log Shipping
      1. Uses of Log Shipping
      2. Basic Considerations for All Forms of Log Shipping
        1. Ask the Right Questions
          1. Business Questions
          2. Technical Questions
        2. How Current Do You Need To Be?
        3. Secondary Server Capacity and Configuration
          1. Log Shipping More Than One Database to One Secondary
        4. Disk Space, Retention, and Archiving
        5. Full-Text Searching and Log Shipping
        6. Recovery Models and Log Shipping
        7. Network Bandwidth
        8. Logins and Other Objects
          1. Stored Procedures, Extended Stored Procedures, Functions, and More
          2. Logins
          3. DTS Packages
        9. Clients, Applications, and Log Shipping
          1. Coding Your Application for Log Shipping
          2. Role Change
        10. Security
          1. SQL Server Startup Account
          2. Securing the Transfer of Logins
          3. Securing the Backup Share
          4. Log Shipping Across Domains
          5. Authentication for Log Shipping
      3. Log Shipping and Database Backups
      4. Service Packs and Log Shipping
      5. Files, Filegroups, and Transaction Logs
      6. Custom Log Shipping Versus Microsoft’s Implementation
      7. Configuring and Administering the Built-In Functionality Using SQL Server 2000 Enterprise Edition
        1. Log Shipping Components
          1. Stored Procedures
          2. Jobs
          3. Log Shipping Monitor
        2. Configuring Log Shipping
          1. Step 1: Restoring the Initial Backup on the Secondary
          2. Step 2: Running the Database Maintenance Plan Wizard
          3. Step 3: Post-Wizard Configuration Tasks
            1. Task 1: Configure Transfer Logins Task DTS Package
            2. Task 2: Set Up a Job to bcp out SYSLOGINS
            3. Task 3: Configure the Role Change SQL Server Agent Jobs for Manual Execution
          4. Step 4: Verifying and Testing the Log Shipping Pair
            1. Task 4: Modify sp_resolve_logins
          5. Troubleshooting Log Shipping
        3. Administering Log Shipping
          1. Removing Log Shipping
          2. Deleting a Secondary
          3. Monitoring Log Shipping
          4. Changing Log Shipping Parameters After Configuration
            1. Database Maintenance Plan
            2. Log Shipping Monitor
          5. Moving the Log Shipping Monitor
            1. Step 1: Configure the New Log Shipping Monitor
            2. Step 2: Update the log_shipping_monitor Table
            3. Step 3: Verify the New Log Shipping Monitor
            4. Step 4: Delete Old Monitor History and Entries
          6. Adding Additional Secondaries
        4. Role Changes
          1. Types of Role Changes
          2. Performing a Role Change
          3. Switching Back to the Original Primary
      8. Creating a Custom Coded Log Shipping Solution
      9. Log Shipping From SQL Server 7.0 to SQL Server 2000
        1. Configuring Log Shipping from SQL Server 7.0 to SQL Server 2000
      10. Summary
    3. 8. Replication
      1. Using Replication to Make a Database Available
        1. Choosing a Replication Model for Availability
          1. Merge Replication
          2. Snapshot Replication
          3. Transactional Replication
        2. Switch Methods and Logins
        3. Replication and Database Schemas
          1. Primary Keys
          2. Uniqueidentifier Columns and Merge Replication
          3. Schema Changes, Data Definition Language, and Replication
          4. Text and Image Fields
          5. Integer Columns
          6. Timestamp Columns
          7. Server Collations and Case Sensitivity
      2. Highly Available Replication Architecture
        1. Replication Agents
          1. Snapshot Agent
          2. Distribution Agent
          3. Log Reader Agent
          4. Merge Agent
          5. Queue Reader Agent
        2. Scenario 1: Separate Publisher and Distributor
        3. Scenario 2: Using a Republisher
        4. SQL Server Service Packs and Replication
        5. Planning Disk Capacity for Replication
      3. Disaster Recovery with a Replicated Environment
        1. Backing Up Replication Databases
          1. Publisher
          2. Distributor
          3. Using the Sync with Backup Option with Transactional Replication Publisher and Distributor
          4. Subscriber
          5. System Databases
        2. Disaster Recovery Restore Scenarios
          1. Scenario 1
          2. Scenarios 2 and 4
          3. Scenario 3
          4. Scenario 5
          5. Scenario 6
          6. Scenario 7
      4. Log Shipping and Replication
        1. Transactional Replication and Log Shipping
          1. Synchronous Mode
          2. Semisynchronous Mode
        2. Merge Replication and Log Shipping
          1. Semisynchronous Mode
          2. Alternate Synchronization Partners
        3. Performing a Role Change Involving Replication
      5. Summary
    4. 9. Database Environment Basics for Recovery
      1. Fundamentals
        1. Technology Last
        2. Understanding Your Backup and Restore Barriers
          1. Hardware Failure
          2. User Error
        3. Minimizing Human Error
        4. Symptoms and Recovery
      2. Backup
        1. Understanding Database Structures
          1. Understanding the Write-Ahead Log
          2. Optimizing the Performance of the Transaction Log
          3. Understanding Continuity of the Transaction Log
          4. What If the Transaction Log Fills?
          5. Breaking the Continuity of the Transaction Log
          6. Properly Managing the Transaction Log
        2. Initial Database Settings and Recovery Models
          1. Understanding Recovery Model Settings by Default
          2. Understanding Log Behavior on Initial Database Creation
        3. Recovery Models
          1. Understanding the Purpose of Recovery Models
          2. The "Tail" of the Log and Recovery Models
          3. Choosing the Right Recovery Model
            1. Full Recovery Model
            2. Bulk-Logged Recovery Model
            3. Simple Recovery Model
            4. Choosing the Right Recovery Model: An Example Test Case
          4. Changing Between Recovery Models
        4. Backup Types
          1. Full Database Backups
            1. How Do Full Database Backups Work?
          2. Transaction Log Backups
            1. How Do Transaction Log Backups Work?
            2. The Effects of Recovery Models on the Transaction Log
          3. Differential Database Backups
            1. How Differential Database Backups Work
          4. Full File/Filegroup Backups
          5. Differential File/Filegroup Backups
      3. Summary
    5. 10. Implementing Backup and Restore
      1. Creating an Effective Backup Strategy
        1. Backup Retention
        2. Devising a Backup Strategy to Create an Optimal Recovery Strategy
          1. The Full Database–Based Backup Strategy
          2. Case Study: A Differential Rotation Schedule and Cost Analysis
          3. The File-Based Backup Strategy
          4. What Both Strategies Do Well
          5. The Pros and Cons of the Full Database–Based Backup Strategy
          6. The Pros and Cons of the File-Based Backup Strategy
      2. Implementing Your Backup Strategy
        1. Options for Performing a Backup
        2. Creating a Backup Device
          1. Special Backup Device: NUL
          2. Parallel Striped Backup
          3. Multifile Backups
          4. Useful Backup Options
            1. Defining a media set
            2. Defining an individual backup
            3. Manipulating the media or backup device
            4. Working with tape devices
          5. Third-Party Backup and Restore Tools and SQL Server
          6. Storage Assisted Backups
            1. Split-Mirror Basics, Pros, and Cons
          7. Windows Server 2003 Volume Shadow Copy Service and SQL Server 2000
        3. Executing the Full Database–Based Backup Strategy Using Transact-SQL
          1. Executing a Full Database Backup
          2. Executing a Transaction Log Backup
          3. Executing a Differential Database Backup
        4. Executing the File-Based Backup Strategy Using Transact-SQL
        5. Simplifying and Automating Backups
          1. Creating a Production SQL Server Agent Backup Job
          2. Checking the Completion of a Backup
          3. Verifying Backups
        6. Implementing an Effective Backup Strategy: In Summary
      3. Database Recovery
        1. Phases of Recovery
          1. File Creation
          2. Media Copy
          3. Redo and Undo
          4. Recovery Completion States
            1. RECOVERY
            2. NORECOVERY
            3. STANDBY
        2. Useful RESTORE Options
        3. Disaster Recovery with Backup and Restore
          1. Recovering from Hardware Failure: In Place and Up to the Minute
            1. Recovering In Place and Up to the Minute with Full Database–Based Backup Strategy
          2. Recovering In Place and Up to the Minute with the File-Based Backup Strategy
          3. Additional Recovery Examples
          4. Point-In-Time Recovery
            1. Recovery Plan
          5. Moving Data on a RESTORE
      4. Collected Wisdom and Good Ideas for Backup and Restore
      5. Backing Up the Operating System
        1. Using Backup
          1. Creating a Backup
          2. Restoring a Backup
      6. Backing Up and Restoring Clustered Environments
        1. Backing Up a Standard Server Cluster
        2. Third-Party Backup Software and SQL Server 2000 Failover Clustering
      7. Summary
  9. IV. Putting the Pieces of the Puzzle Together
    1. 11. Real-World High Availability Solutions
      1. The Scenario
      2. Conditions and Constraints
      3. The Planning Process
        1. Step 1: Breaking Down the Requirements
        2. Step 2: Considering Technologies
        3. Step 3: Designing the Architecture
          1. Designing the Hardware
          2. People and Processes
        4. Step 4: Choosing Hardware and Costs
          1. Server Cluster
          2. Reporting Server and Log Shipped Secondary
          3. Rethinking the Strategy
      4. Exercise Summary
      5. Case Study: Microsoft.com
        1. Background Information
        2. Planning and Development
        3. How Microsoft.com Achieves High Availability in Production
        4. Microsoft.com’s Barriers to Availability
      6. Summary
    2. 12. Disaster Recovery Techniques for Microsoft SQL Server
      1. Planning for Disaster Recovery
        1. Run Book
          1. Items to Place in a Run Book
            1. SQL Server Administrative Information
            2. Analysis Services Administrative Information
            3. Application System Information
            4. Database Components
            5. Server Configuration
            6. SQL Server Configuration
            7. Network Information and Configuration
            8. Storage Information and Configuration
            9. Other Necessary Information
        2. SLAs, Risk, and Disaster Recovery
        3. Planning Step 1: Assessing Risk and Defining Dependencies
          1. Example Scenario
        4. Known Facts About Servers
          1. BizTalk
          2. Commerce Server
          3. Content Management Server
          4. CustomDB1, CustomDB2, and CustomDB3
          5. Other Servers
        5. Risks and Unknowns
        6. Planning Step 2: Putting the Plan Together
        7. When All Else Fails, Go to Plan B
      2. Testing Disaster Recovery Plans
      3. Executing Disaster Recovery Plans
        1. Example Disaster Recovery Execution
          1. Roles and Responsibilities
          2. Recovery Timeline
      4. Disaster Recovery Techniques
        1. Step 1: Assessing Damage
        2. Step 2: Preparing for Reconstruction
        3. Step 3: Reconstructing a System
          1. Restoring the Tempdb Database
          2. Step 1: Rebuilding and Restoring Master
            1. Rebuilding Master for 32-Bit SQL Servers
            2. Rebuilding Master for 64-Bit SQL Server
            3. Restoring the Master Database
          3. Step 2: Restoring the Msdb Database
          4. Restoring the Model Database
          5. Restoring User Databases
          6. Restoring the Full-Text Indexes
          7. Synchronizing Logins
      5. Summary
    3. 13. Highly Available Upgrades
      1. General Upgrade, Consolidation, and Migration Tips
      2. Upgrading, Consolidating, and Migrating to SQL Server 2000
        1. Phase 1: Envisioning
          1. Profile Target Systems
          2. Gathering System Performance Metrics
            1. Other SQL Server Information to Gather
        2. Phase 2: Technical Considerations for Planning
          1. Single Instance Versus Multiple Instances
          2. Application Compatibility with Instances
          3. Disk Subsystem
          4. Memory and Processor
          5. Networking
          6. Security and Logins
          7. High Availability
          8. Replication
          9. Migrating Objects
          10. Administration
          11. Chargeback
          12. System Databases
          13. Collations and Sort Orders
          14. Other Technical Considerations
        3. Phase 3: Consolidation Planning—The Server Design and the Test Process
          1. Designing the New Production Servers
          2. Migration of Applications, Users, and Data
          3. Test the Process
          4. Determining Risk
        4. Phase 4: Developing
        5. Phase 5: Deploying and Stabilizing
      3. Windows Version Upgrades
        1. Should You Upgrade Your Version of Windows?
        2. Performing a Windows Version Upgrade on a Server
          1. Upgrading Stand-Alone Servers
          2. Upgrading Clustered Servers
      4. SQL Server Version Upgrades or Migrations
        1. Tools for Upgrading from SQL Server 6.5
        2. Tools for Upgrading from SQL Server 7.0
        3. Upgrading Between Different Versions of SQL Server 2000
        4. Upgrading from Previous Versions of SQL Server Clustering
      5. Attaching and Detaching Databases Versus Backup and Restore
      6. Service Packs and Hotfixes
        1. Emergency Hotfixes and Testing Requirements
        2. Applying a Windows Service Pack
          1. Windows Service Packs and Server Clusters
        3. Applying a SQL Server 2000 Service Pack
          1. Failover Clustering and SQL Server 2000 Service Packs
          2. Log Shipping and SQL Server 2000 Service Packs
          3. Replication and SQL Server 2000 Service Packs
          4. Applying a SQL Server Service Pack to a Nonwritable Database or Filegroup
          5. Nonwritable Database
          6. Nonwritable Filegroup
        4. Hotfixes
      7. Summary
  10. V. Administering Highly Available Microsoft SQL Servers
    1. 14. Administrative Tasks for High Availability
      1. Security
        1. Securing Your SQL Server Installations
        2. Securing Your SQL Server–Based Applications
      2. Maintenance
        1. Calculating the Cost of Maintenance
        2. Intrusive Maintenance
        3. Defragmenting Indexes
        4. Logical vs. Physical Fragmentation
        5. Example: Defragmenting a VLDB That Uses Log Shipping
        6. Database Corruption
      3. Changing Database Options
      4. Memory Management for SQL Server 2000
        1. Understanding the Memory Manager
        2. Breaking the 2-GB Barrier Under 32-Bit
          1. /3GB boot.ini Switch
          2. The /USERVA boot.ini Switch
          3. Physical Address Extensions (PAE)
            1. Combining /PAE and /3GB
          4. Address Windowing Extensions (AWE)
        3. Paging File Sizing and Location
          1. Option 1: Through the Graphical User Interface (GUI)
          2. Option 2: Through the Registry
        4. SQL Server Memory Recommendations
          1. Memory and Multiple Instances on the Same Server or Server Cluster
      5. Managing SQL Server Resources with Other Tools
        1. Transferring Logins, Users, and Other Objects to the Standby
        2. Transferring Logins, Users, and Other Objects Between Instances
          1. Transferring Logins and Users
          2. Orphaned Users
        3. Transferring Objects
          1. Generating SQL Scripts
          2. Using a DTS Package to Transfer Objects
        4. DTS Packages
      6. Summary
    2. 15. Monitoring for High Availability
      1. Monitoring Basics
        1. Setting Ground Rules
        2. How Available Is Available?
      2. Implementing a Monitoring Solution
        1. Hardware Layer Monitoring
        2. Monitoring Windows and SQL Server Events
          1. Tools for Monitoring and Alerting
            1. Sqldiag.exe
            2. System Monitor
            3. Event Viewer
            4. Log Files
            5. SQL Server Profiler
            6. WMI
            7. Microsoft Operations Manager
            8. SQL Server Alerts
            9. SQL Server Notification Services
            10. Monitoring System Uptime
            11. Using System Monitor
          2. Automated Collection of Data
          3. Using Sysperfinfo
          4. Profiler/Trace Core
          5. Monitoring Extended Blocking and Deadlocks
          6. Monitoring Database and Transaction Log Space
          7. Monitoring Index Fragmentation
          8. Monitoring Read/Write Statistics per File
      3. Monitoring Your Monitor and Other Critical Services
      4. Capacity Planning and Monitoring
      5. Summary
  11. Glossary
    1. Allan Hirt
    2. Cathan Cook
    3. Frank McBath
    4. Kimberly L. Tripp
  12. System Requirements
  13. Index
  14. About the Authors
  15. Copyright