Book description
A hands-on resource for SQL Server 2008 troubleshooting methods and tools
SQL Server administrators need to ensure that SQL Server remains running 24/7. Authored by leading SQL Server experts and MVPs, this book provides in-depth coverage of best practices based on a deep understanding of the internals of both SQL Server and the Windows operating system.
You'll get a thorough look at the SQL Server database architecture and internals as well as Windows OS internals so that you can approach troubleshooting with a solid grasp of the total processing environment. Armed with this comprehensive understanding, readers will then learn how to use a suite of tools for troubleshooting performance problems whether they originate on the database server or operating system side.
Topics Covered:
SQL Server Architecture
Understanding Memory
SQL Server Waits and Extended Events
Working with Storage
CPU and Query Processing
Locking and Latches
Knowing Tempdb
Defining Your Approach To Troubleshooting
Viewing Server Performance with PerfMon and the PAL Tool
Tracing SQL Server with SQL Trace and Profiler
Consolidating Data Collection with SQLDiag and the PerfStats Script
Introducing RML Utilities for Stress Testing and Trace File Analysis
Bringing It All Together with SQL Nexus
Using Management Studio Reports and the Performance Dashboard
Using SQL Server Management Data Warehouse
Shortcuts to Efficient Data Collection and Quick Analysis
Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.
Table of contents
- Copyright
- ABOUT THE AUTHORS
- CREDITS
- ACKNOWLEDGMENTS
-
INTRODUCTION
- WHO THIS BOOK IS FOR
- WHAT THIS BOOK COVERS
-
HOW THIS BOOK IS STRUCTURED
-
The Troubleshooting Tools Chapters
- Chapter 8: Defining Your Approach to Troubleshooting
- Chapter 9: Viewing Server Performance with PerfMon and the PAL Tool
- Chapter 10: Tracing SQL Server with SQL Trace and Profiler
- Chapter 11: Consolidating Data Collection with SQLDiag and the PerfStats Script
- Chapter 12: Introducing RML Utilities for Stress Testing and Trace File Analysis
- Chapter 13: Bringing It All Together with SQL Nexus
- Chapter 14: Using Management Studio Reports and the Performance Dashboard
- Chapter 15: Using SQL Server Management Data Warehouse
- Chapter 16: Shortcuts to Efficient Data Collection and Quick Analysis
- CONVENTIONS
- SOURCE CODE
- ERRATA
- P2P.WROX.COM
-
1. SQL Server Architecture
- 1.1. DATABASE TRANSACTIONS
-
1.2. THE LIFE CYCLE OF A QUERY
- 1.2.1. The Relational and Storage Engines
- 1.2.2. The Buffer Pool
- 1.2.3. A Basic Select Query
- 1.2.4. A Simple Update Query
- 1.2.5. Recovery
- 1.3. THE SQLOS (SQL OPERATING SYSTEM)
- 1.4. SUMMARY
-
2. Understanding Memory
- 2.1. WINDOWS AND MEMORY
- 2.2. SQL SERVER MEMORY
- 2.3. SUMMARY
-
3. SQL Server Waits and Extended Events
- 3.1. WAITS
- 3.2. EXTENDED EVENTS
- 3.3. EXAMINING WAITS WITH EXTENDED EVENTS
- 3.4. SUMMARY
-
4. Working with Storage
- 4.1. TYPES OF STORAGE
- 4.2. STORAGE PERFORMANCE TESTING
-
4.3. CONFIGURING SOFTWARE FOR STORAGE
- 4.3.1. Configuring Windows Server
- 4.3.2. Configuring SQL Server 2008
-
4.3.3. Corruption
- 4.3.3.1. Detecting Corruption
-
4.3.3.2. Recovering from Corruption
- 4.3.3.2.1. Fix the Underlying Cause First
- 4.3.3.2.2. Focus on the Worst Problem First
- 4.3.3.2.3. Dealing with Damaged System Tables
- 4.3.3.2.4. Dealing with Corrupt Clustered Indexes
- 4.3.3.2.5. Dealing with Data Purity Errors
- 4.3.3.2.6. Dealing With Corrupt Non-Clustered Indexes
- 4.3.3.2.7. The Final Steps After Any Repairs
- 4.4. SUMMARY
-
5. CPU and Query Processing
- 5.1. THE CPU
- 5.2. THE CPU AND SQL SERVER
- 5.3. SYSTEM ARCHITECTURE
- 5.4. QUERY PROCESSING
- 5.5. QUERY OPTIMIZATION
- 5.6. QUERY PLANS
- 5.7. EXECUTING YOUR QUERIES
- 5.8. SUMMARY
-
6. Locking and Latches
- 6.1. TRANSACTIONS
- 6.2. CONSEQUENCE OF CONCURRENT ACCESS
- 6.3. LOCKING
- 6.4. PESSIMISTIC CONCURRENCY
- 6.5. OPTIMISTIC CONCURRENCY
- 6.6. LATCHES
- 6.7. SUB-LATCHES AND SUPER-LATCHES
- 6.8. LATCHING IN ACTION
- 6.9. SUMMARY
-
7. Knowing Tempdb
- 7.1. OVERVIEW AND USAGE
-
7.2. TROUBLESHOOTING COMMON ISSUES
- 7.2.1. Latch Contention
- 7.2.2. Monitoring Tempdb Performance
- 7.2.3. Troubleshooting Space Issues
- 7.2.4. Transaction Log Growing Too Big?
- 7.3. CONFIGURATION BEST PRACTICES
- 7.4. SUMMARY
-
8. Defining Your Approach To Troubleshooting
- 8.1. APPROACHING THE PROBLEM CORRECTLY
- 8.2. DEFINING THE PROBLEM
- 8.3. GATHERING DATA
- 8.4. ANALYZING DATA
- 8.5. TESTING SOLUTIONS
- 8.6. TROUBLESHOOTING OTHER COMPONENTS
- 8.7. SUMMARY
-
9. Viewing Server Performance with PerfMon and the PAL Tool
- 9.1. PERFORMANCE MONITOR OVERVIEW
- 9.2. GETTING STARTED WITH PERFMON
-
9.3. GETTING MORE FROM PERFORMANCE MONITOR
- 9.3.1. Identifying SQL Server Bottlenecks
- 9.3.2. Wait Stats Analysis
- 9.3.3. Getting a Performance Baseline
- 9.4. GETTING STARTED WITH PERFORMANCE ANALYSIS FOR LOGS (PAL)
- 9.5. OTHER PERFMON LOG ANALYSIS TOOLS
- 9.6. SUMMARY
-
10. Tracing SQL Server with SQL Trace and Profiler
- 10.1. TRACING 101
- 10.2. THE ARCHITECTURE OF SQL TRACE
- 10.3. EVENT CLASSIFICATION AND HIERARCHIES
- 10.4. SQL TRACE CATALOG VIEWS
- 10.5. SQL TRACE PROCEDURES AND FUNCTIONS
- 10.6. SECURING SQL TRACE
- 10.7. PROFILER
- 10.8. SUMMARY
- 11. Consolidating Data Collection with SQLDiag and the PerfStats Script
- 12. Introducing RML Utilities for Stress Testing and Trace File Analysis
- 13. Bringing It All Together with SQL Nexus
-
14. Using Management Studio Reports and the Performance Dashboard
-
14.1. USING THE STANDARD REPORTS
-
14.1.1. Interpreting the Standard Server Reports
- 14.1.1.1. Reading the Server Dashboard Report
- 14.1.1.2. Configuration Changes and Schema Changes Reports
- 14.1.1.3. Scheduler Health Report
- 14.1.1.4. Memory Consumption Report
- 14.1.1.5. Activity Reports
- 14.1.1.6. Performance Executions Reports
- 14.1.1.7. Performance Top Queries Reports
- 14.1.1.8. Top Transactions Reports
- 14.1.2. Interpreting the Database Reports
-
14.1.1. Interpreting the Standard Server Reports
-
14.2. USING THE PERFORMANCE DASHBOARD
-
14.2.1. Troubleshooting Common Errors
- 14.2.1.1. "The stored procedures and functions required by the performance dashboard have not yet been installed."
- 14.2.1.2. "Invalid column name 'cpu_ticks_in_ms'."
- 14.2.1.3. "Difference of two datetime columns caused overflow at runtime."
- 14.2.1.4. "Index (zero based) must be greater than or equal to zero and less than the size of the argument list."
- 14.2.1.5. "The 'version_string' parameter is missing a value."
- 14.2.2. Interpreting the Performance Dashboard Reports
-
14.2.1. Troubleshooting Common Errors
- 14.3. BUILDING CUSTOM REPORTS
- 14.4. SUMMARY
-
14.1. USING THE STANDARD REPORTS
- 15. Using SQL Server Management Data Warehouse
Product information
- Title: Professional SQL Server® 2008 Internals and Troubleshooting
- Author(s):
- Release date: January 2010
- Publisher(s): Wrox
- ISBN: 9780470484289
You might also like
book
Professional Microsoft® SQL Server® 2008 Administration
SQL Server 2008 represents a sizable jump forward in scalability, performance, and usability for the DBA, …
book
SQL Server 2005 Practical Troubleshooting: The Database Engine
Never-Before-Published Insiders’ Information for Troubleshooting SQL Server 2005. This is the definitive guide to troubleshooting the …
book
Pro SQL Server 2008 Policy-Based Management
Pro SQL Server 2008 Policy-Based Management is critical for database administrators seeking in-depth knowledge on administering …
book
Microsoft® SQL Server® 2008 Internals
Delve inside the core SQL Server engine—and put that knowledge to work—with guidance from a team …