Training
Certifications
Books
Special Offers
Community




 
Microsoft® SQL Server 2000™ Performance Tuning Technical Reference
Author Edward Whalen, Marcilina Garcia, Steve Adrien DeLuca, Dean Thompson
Pages 464
Disk N/A
Level Int/Adv
Published 07/03/2001
ISBN 9780735612709
Price $49.99
To see this book's discounted price, select a reseller below.
 

More Information

About the Book
Table of Contents
Sample Chapter
Index
Related Series
Related Books
About the Author

Support: Book & CD

Rate this book
Barnes Noble Amazon Quantum Books

 

Table of Contents


    Tablesxiv
    Acknowledgmentsxv
    Introductionxvii
PART I   BASIC CONCEPTS 
1   Performance Tuning, Capacity Planning, and Sizing Overview3
    Performance Tuning and Optimization3
        Application Tuning4
        SQL Server Tuning5
        Hardware Tuning5
    Sizing and Capacity Planning5
    Server Tuning Methodology6
        Tuning Steps6
        Tuning Tips and Recommendations9
    Summary11
2   SQL Server 2000 Architecture Fundamentals13
    Memory Management13
        Concepts: Physical and Virtual Memory13
        SQL Server Memory Architecture14
        Dynamic and Manual Memory Configuration17
        Memory Sizes Supported 19
    Data Storage20
        Data Files and Log Files20
        Filegroups and File Placement22
        Automatic File Growth 25
        Pages, Extents, and Rows25
    Lock Management26
        What is a Lock?26
        Lock Granularity and Lock Modes 27
        The locks Option28
    Thread Management28
        Fiber Mode Scheduling and Worker Threads29
    Transaction Log 30
        Transaction Log Characteristics 31
        Transaction Log Architecture32
        Truncating the Transaction Log34
        What is a Checkpoint?35
    Summary38
3   Understanding the I/O Subsystem and RAID39
    Performance Characteristics of Disk Drives39
        Disk Drive Description40
        Disk Drive Behaviors41
        Disk Drive Specifications43
        Disk Drive Reliability44
        Disk Drive Performance44
        Solving the Disk Performance Capacity Problem47
    Introduction to RAID47
        Controller Caches48
        Internal vs. External RAID48
        Storage Area Networks49
    Common RAID Levels50
        Striping50
        RAID 051
        RAID 152
        RAID 5 54
        RAID 1056
    Performance Comparison of RAID Levels58
        Read Performance58
        Write Performance59
        Disk Calculations59
        Choosing the Right RAID Level60
    I/O Latencies and SQL Server61
    Guidelines for Configuring I/O Subsystems62
    Summary63
4   System Tuning65
    How to Measure Performance65
    Tuning the Server with Hardware 67
        Processor Architecture 67
        Tuning the Processor 69
        Tuning the Disk Subsystem70
        Tuning Memory 75
    Optimizing Database Layout78
        Guidelines for Database Layout78
        Examples Using Files and Filegroups80
    SQL Server Configuration Options 83
        AWE Enabled84
        Lightweight Pooling84
        Locks85
        Max Server Memory85
        Min Server Memory86
        Set Working Set Size86
        Recovery Interval86
        User Connections87
    Summary87
5   New Features and Performance Enhancements89
    Extended Memory Support89
    Named Instances of SQL Server90
    Federated Servers with Distributed Partitioned Views90
    SQL Server 2000 Failover Clustering95
    XML Support96
    Database Maintenance Operations97
    Referential Integrity Enhancements97
    Full-Text Search97
    New Data Types98
    Index Enhancements98
    Administration Enhancements98
        Log Shipping98
        SQL Profiler98
        SQL Query Analyzer99
    Replication Enhancements100
    Additional Enhancements101
    Summary101
6   Monitoring Performance with System Monitor103
    System Monitor103
        Viewing Performance Data in Real-Time Mode104
        Logging Performance Data104
    System Monitor Objects, Counters, and Instances110
        Processor Object110
        System Object111
        SQLServer: Buffer Manager Object112
        SQLServer: Databases Object113
        SQLServer: General Statistics Object114
        SQLServer: Latches Object115
        SQLServer: Locks Object115
        SQLServer: Memory Manager Object117
        SQLServer: SQL Statistics Object117
        LogicalDisk and PhysicalDisk Object118
        Memory119
    Summary120
7   Using SQL Profiler121
    SQL Profiler Overview122
    Using SQL Profiler123
        Setting Trace Options124
        Running Traces124
        Trace Templates125
        Modifying Trace Properties132
        Creating Trace Templates140
        Analyzing Profile Data141
        Using SQL Statements to Analyze Trace Data143
    Sample Scenarios144
        Looking for Long-Running SQL Statements144
        Looking for Resource Consumers145
        Using SQL Profiler to Detect Deadlocks145
        Using the Profiler as a System Log145
        Looking for Performance Problems146
    Debugging SQL Statements146
        Capture and Replay147
        Single-Stepping147
    Summary149
PART II  SIZING AND CAPACITY PLANNING 
8   Modeling for Sizing and Capacity Planning153
    Introduction to Sizing and Capacity Planning153
        Preconfiguration Capacity Planning153
        Postconfiguration Capacity Planning154
        History of Capacity Planning, Benchmarking, and Simulations154
    Modeling Principles for Sizing and Capacity Planning156
        Queuing Theory and the Knee of the Curve156
        Atomic Demand Modeling and Queue Modeling159
        Service Chains159
    Mathematics for Modeling160
        Understanding the Basic Model Set160
        The Utilization Law161
        Arrival Rates and Queues162
        End-to-End Response Time163
        Developing a Conceptual Model164
    Summary165
9   Sizing the Database and Application Servers167
    Preconfiguration Capacity Planning167
        Transaction Processing Types167
        Peak Utilization vs. Steady-State Processing 169
        Single-Tier vs. Multitier Systems 170
        Page Faulting171
    Disk Requirements of the Database Server172
        RAID Fault Tolerance172
        Rules for Database Disk Drives174
        File Structures, Queries, and the Resulting I/Os176
        Sizing the Database Disk Farm178
    Sizing the Application Server179
        Single-Tier Model179
        Multitier Model 180
    Summary180
10   Methods for Sizing a System181
    Sizing the Processor182
        The Interview Process182
        Calculating CPU Utilization183
    Calculating System Statistics187
        I/O Throughput187
        System Capacity 187
        Queue Length and I/O Response Time 188
        Transaction Response Times189
    Sizing Memory190
    Sizing the Disk I/O Subsystem193
        Operating System Disks193
        Log File Disks193
        Database Disks194
        Sizing Example196
    Summary197
11   Capacity Planning199
    Performance Tuning vs. Capacity Planning200
    Data Collection202
        Counters for All Machines204
        Counters for Database Servers 205
        Counters for Web Servers207
        Counters for Application Servers207
        Service Chains207
    Data Analysis208
        Historic Data Reporting209
        Predictive Analysis210
        Correlative Analysis213
        Service Chain Reporting214
    Summary214
PART III   CONFIGURING AND TUNING THE SYSTEM 
12   Online Transaction Processing Systems217
    What is an OLTP System?217
    System Configuration Options for OLTP Systems219
        Two-Tiered Architecture220
        Three-Tiered Architecture222
    Guidelines for Designing OLTP Systems223
        OLTP and Decision Support Workloads223
        Data Placement and Filegroups223
        Tuning OLTP Transactions 227
        Controlling Data Content227
        Database Backup228
        Indexes228
    OLTP System Tuning229
        Processor Subsystem229
        Memory Subsystem229
        Pinning Tables in Memory230
        Page-Level and Row-Level Locking230
        I/O Subsystem231
    Summary232
13   Data Warehouses233
    Comparing OLTP and Data Warehouse Systems233
        OLTP233
        Data Warehouses234
    Analyzing Data Warehouse Data235
        OLAP235
        Data Warehousing Tools235
    Designing a Data Warehouse236
        Tables and Schemas236
        Table Design Issues239
        Storage Design Issues242
        Cube Design Issues243
    Configuring a Data Warehouse for Performance245
        Hardware245
        Optimizing the Query Log247
    Summary247
14   Tuning Replicated Systems249
    Replication Overview249
        Types of Replication249
        Replication Tuning Basics250
    The Distributor251
        Configuring the Distributor252
        Monitoring the Distributor255
        Tuning the Distributor256
    Tuning for Snapshot Replication256
        Attributes of Snapshot Replication257
        Configuring for Snapshot Replication257
        Monitoring the Snapshot System262
        Tuning the Snapshot System263
    Tuning for Transactional Replication263
        Attributes of Transactional Replication263
        Configuring for Transactional Replication264
        Monitoring the Transactional Replication System269
        Tuning the Transactional Replication System269
    Tuning for Merge Replication270
        Attributes of Merge Replication270
        Configuring for Merge Replication270
        Monitoring the Merge Replication System273
        Tuning the Merge Replication System273
    Summary274
15   High-Performance Backup and Recovery275
    Backup and Recovery Concepts275
        Backup and Restore275
        Recovery276
        Non-Logged Operations276
        Types of Backups 278
    Factors Affecting Performance of Backup and Recovery 279
        The Backup Process280
        I/O Subsystem280
        Network282
        SQL Server282
    Configuring the System for Maximum Backup and Recovery Performance283
        Analyzing Performance Needs of a Backup283
        Configuring the Network284
        Configuring the I/O Subsystem286
    Backup Scenarios287
        Local Backups287
        Network Backups288
        Storage Area Networks289
    Backup Tips and Recommendations289
        SQL Server System289
        Network289
        Network Backup Server290
        General Tips and Guidelines290
    Review of Component Capacities291
    Summary292
PART IV  TUNING SQL STATEMENTS 
16   Using SQL Query Analyzer295
    SQL Query Analyzer Features295
    Running SQL Query Analyzer 296
        The Connection Process296
        The Query Window297
        Analyzing Queries299
    Execution Plans299
        Logical and Physical Operators300
    Interpreting Graphical Execution Plans 307
    Example of Using SQL Query Analyzer 309
    Index Tuning Wizard313
        Features of the Index Tuning Wizard 313
        Limitations of the Index Tuning Wizard 314
        Using the Index Tuning Wizard315
    Summary315
17   Tuning SQL Statements and Stored Procedures317
    Application Design 317
        Recommendations318
        Critical-Path Transactions321
    Using Stored Procedures322
        The Effect of Variables327
        Caching Execution Plans 328
    Coding SQL Statements as Transactions329
    Efficient Retrieval of Data 330
    Tuning SQL Queries332
        General Recommendations335
        Queries Using Joins336
    Prepared Execution336
    Summary338
18   Using and Tuning Indexes339
    Index Fundamentals 339
        Index Keys341
        Types of Indexes341
    Tuning Indexes346
        Choosing the Index Key Columns348
        Fill Factor349
        Using SQL Query Analyzer350
    Summary358
19   Using Hints in SQL Server359
    Isolation Levels359
        Session-Level Isolation361
    SQL Hints362
        Join Hints363
        Table Hints 364
        Query Hints366
        Bulk Copy Hints368
    Summary369
PART V   APPENDIXES AND GLOSSARY 
A   SQL Server Configuration Options373
    Configuration Options373
        Show Advanced Options377
        Option Specification377
        Changing Options with the Enterprise Manager378
B   SQL Server Monitoring389
        SQLServer:Access Methods389
        SQL Server:Backup Device390
        SQL Server:Buffer Manager390
        SQL Server:Buffer Partition392
        SQL Server:Cache Manager392
        SQLServer:Databases393
        SQLServer:General Statistics394
        SQLServer:Latches394
        SQL Server:Locks394
        SQL Server:Memory Manager395
        SQL Server:Replication Agents396
        SQL Server:Replication Dist.396
        SQL Server:Replication Logreader396
        SQL Server:Replication Merge397
        SQL Server:Replication Snapshot397
        SQL Server:SQL Statistics397
        SQLServer:User Settable398
GLOSSARY399
INDEX413

Tables

22-1.Supported Memory Sizes19
 2-2.Flags for Memory Usage20
33-1.Disk Drive Specification43
 3-2.RAID Levels60
 3-3.Comparing Disk Loads61
44-1.The Number of CPUs supported by SQL Server and Windows 200069
99-1.Average Number of Reads and Writes for a New Order Transaction178
 9-2.Transactions and I/Os for a Sample Order Entry System178
 9-3.Total I/Os for the Sample System’s Workload Using RAID 0179
1010-1.Transaction I/Os for Sample Order Entry System with RAID 0183
 10-2.Total Number of Reads for Sample Order Entry System with RAID 5184
 10-3.Total Number of Writes for Sample Order Entry System with RAID 5186
 10-4.Summary of Transactions in the Sample Order Entry System with RAID 5189
1414-1.Comparison of Performance Times for Snapshot Replication with Various Network Speeds263
1515-1.Throughput Comparisons for Different RAID Configurations (100% Writes)286
 15-2.Component Capacities292
1717-1.Data Access Methods and Their Estimated Costs333
1919-1.Table-Level Locking Hints365
 19-2.Table Hints366
 19-3.Query Hints367
AA-1.Characteristics of Configuration Options377




Top of Page


Last Updated: Saturday, July 7, 2001