Muutke küpsiste eelistusi

Professional SQL Server 2012 Internals and Troubleshooting [Pehme köide]

  • Formaat: Paperback / softback, 576 pages, kõrgus x laius x paksus: 231x188x28 mm, kaal: 975 g
  • Ilmumisaeg: 30-Oct-2012
  • Kirjastus: Wrox Press
  • ISBN-10: 1118177657
  • ISBN-13: 9781118177655
Teised raamatud teemal:
  • Pehme köide
  • Hind: 74,12 €*
  • * saadame teile pakkumise kasutatud raamatule, mille hind võib erineda kodulehel olevast hinnast
  • See raamat on trükist otsas, kuid me saadame teile pakkumise kasutatud raamatule.
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 576 pages, kõrgus x laius x paksus: 231x188x28 mm, kaal: 975 g
  • Ilmumisaeg: 30-Oct-2012
  • Kirjastus: Wrox Press
  • ISBN-10: 1118177657
  • ISBN-13: 9781118177655
Teised raamatud teemal:
Hands-on troubleshooting methods on the most recent release of SQL Server

The 2012 release of SQL Server is the most significant one since 2005 and introduces an abundance of new features. This critical book provides in-depth coverage of best practices for troubleshooting performance problems based on a solid understanding of both SQL Server and Windows internals and shows experienced DBAs how to ensure reliable performance. The team of authors shows you how to master the use of specific troubleshooting tools and how to interpret their output so you can quickly identify and resolve any performance issue on any server running SQL Server.

  • Covers the core technical topics required to understand how SQL Server and Windows should be working
  • Shares best practices so that you know how to proactively monitor and avoid problems
  • Shows how to use tools to quickly gather, analyze, and effectively respond to the source of a system-wide performance issue

    Professional SQL Server 2012 Internals and Troubleshooting helps you to quickly become familiar with the changes of this new release so that you can best handle database performance and troubleshooting.

  • Introduction xxix
    Part I Internals
    Chapter 1 SQL Server Architecture
    3(26)
    Introduction
    3(1)
    Database Transactions
    4(1)
    ACID Properties
    4(1)
    SQL Server Transactions
    5(1)
    The Life Cycle of a Query
    5(1)
    The Relational and Storage Engines
    6(1)
    The Buffer Pool
    6(1)
    A Basic Select Query
    7(8)
    A Simple Update Query
    15(3)
    Recovery
    18(4)
    SQL Server's Execution Model and the SQLOS
    22(1)
    Execution Model
    22(3)
    The SQLOS
    25(4)
    Summary
    26(3)
    Chapter 2 Demystifying Hardware
    29(24)
    The Importance of Hardware
    29(1)
    How Workload Affects Hardware and Storage Considerations
    30(1)
    Workload Types
    30(2)
    Server Model Selection
    32(1)
    Server Model Evolution
    33(2)
    Processor Vendor Selection
    35(1)
    Intel Processors
    35(8)
    AMD Processors and Numbering
    43(3)
    Choosing and Configuring Hardware for Redundancy
    46(2)
    Hardware Comparison Tools
    48(1)
    TPC-E Benchmark
    48(2)
    Geekbench Benchmark
    50(3)
    Summary
    51(2)
    Chapter 3 Understanding Memory
    53(24)
    Introduction
    53(1)
    Physical and Virtual Memory
    54(1)
    Physical Memory
    54(1)
    Maximum Supported Physical Memory
    55(1)
    Virtual Memory
    56(3)
    NUMA
    59(4)
    SQL Server Memory
    63(1)
    Memory Nodes
    64(1)
    Clerks, Caches, and the Buffer Pool
    64(6)
    Optimizing SQL Server Memory Configuration
    70(1)
    Min and Max Server Memory
    70(2)
    Lock Pages in Memory
    72(2)
    Optimize for Ad-Hoc Workloads
    74(3)
    Summary
    76(1)
    Chapter 4 Storage Systems
    77(34)
    Introduction
    77(1)
    SQL Server I/O
    78(1)
    Storage Technology
    78(4)
    SQL Server and the Windows I/O Subsystem
    82(2)
    Choosing the Right Storage Networks
    84(2)
    Shared Storage Arrays
    86(1)
    Capacity Optimization
    86(2)
    Storage Tiering
    88(1)
    Data Replication
    89(3)
    Remote Data Replication
    92(1)
    Windows Failover Clustering
    93(1)
    SQL Server AlwaysOn Availability Groups
    94(1)
    Risk Mitigation Planning
    94(1)
    Measuring Performance
    95(1)
    Storage Performance Counters
    96(1)
    Disk Drive Performance
    97(3)
    Sequential Disk Access
    100(1)
    Server Queues
    101(1)
    File Layout
    101(2)
    Partition Alignment
    103(1)
    NTFS Allocation Unit Size
    104(1)
    Flash Storage
    104(2)
    Storage Performance Testing
    106(5)
    Summary
    110(1)
    Chapter 5 Query Processing and Execution
    111(38)
    Introduction
    111(1)
    Query Processing
    112(1)
    Parsing
    112(1)
    Algebrizing
    112(1)
    Query Optimization
    113(1)
    Parallel Plans
    114(1)
    Algebrizer Trees
    115(1)
    sql_handle or plan_handle
    115(1)
    Understanding Statistics
    116(1)
    Plan Caching and Recompilation
    117(6)
    Influencing Optimization
    123(6)
    Query Plans
    129(3)
    Query Plan Operators
    132(3)
    Reading Query Plans
    135(5)
    Executing Your Queries
    140(1)
    SQLOS
    140(9)
    Summary
    147(2)
    Chapter 6 Locking and Concurrency
    149(32)
    Overview
    149(1)
    Transactions
    150(1)
    A Is for Atomic
    150(1)
    C Is for Consistent
    151(1)
    I Is for Isolated
    151(1)
    D Is for Durable
    151(1)
    Database Transactions
    151(1)
    Atomicity
    151(1)
    Consistency
    152(1)
    Isolation
    152(1)
    Durability
    152(1)
    The Dangers of Concurrency
    153(1)
    Lost Updates
    153(2)
    Dirty Reads
    155(1)
    Non-Repeatable Reads
    156(2)
    Phantom Reads
    158(3)
    Double Reads
    161(1)
    Halloween Effect
    162(1)
    Locks
    163(1)
    Monitoring Locks
    163(2)
    Lock Resources
    165(2)
    Lock Modes
    167(6)
    Compatibility Matrix
    173(1)
    Lock Escalation
    174(1)
    Deadlocks
    175(1)
    Isolation Levels
    175(1)
    Serializable
    176(1)
    Repeatable Read
    177(1)
    Read Committed
    177(1)
    Read Uncommitted/NOLOCK
    178(1)
    Snapshot
    178(1)
    Read Committed Snapshot
    178(3)
    Summary
    179(2)
    Chapter 7 Latches and Spinlocks
    181(30)
    Overview
    181(1)
    Symptoms
    182(1)
    Recognizing Symptoms
    182(1)
    Measuring Latch Contention
    183(1)
    Measuring Spinlock Contention
    184(1)
    Contention Indicators
    185(1)
    Susceptible Systems
    185(1)
    Understanding Latches and Spinlocks
    186(1)
    Definitions
    186(1)
    Latching Example
    187(7)
    Latch Types
    194(1)
    Latch Modes
    194(1)
    NL
    195(1)
    KP
    195(1)
    SH
    195(1)
    UP
    195(1)
    EX
    195(1)
    DT
    195(1)
    Latch Compatibility
    196(1)
    Grant Order
    196(1)
    Latch Waits
    197(1)
    SuperLatches/Sublatches
    198(1)
    Monitoring Latches and Spinlocks
    199(1)
    DMVs
    199(2)
    Performance Monitor
    201(1)
    Extended Events
    202(1)
    Latch Contention Examples
    203(1)
    Inserts When the Clustered Index Key Is an Identity Field
    203(2)
    Queuing
    205(3)
    UP Latches in tempdb
    208(1)
    Spinlock Contention in Name Resolution
    209(2)
    Summary
    209(2)
    Chapter 8 Knowing Tempdb
    211(30)
    Introduction
    211(1)
    Overview and Usage
    212(1)
    User Temporary Objects
    213(4)
    Internal Temporary Objects
    217(1)
    The Version Store
    217(3)
    Troubleshooting Common Issues
    220(1)
    Latch Contention
    220(9)
    Monitoring Tempdb I/O Performance
    229(2)
    Troubleshooting Space Issues
    231(1)
    Configuration Best Practices
    232(1)
    Tempdb File Placement
    232(2)
    Tempdb Initial Sizing and Autogrowth
    234(3)
    Configuring Multiple Tempdb Data Files
    237(4)
    Summary
    237(4)
    Part II Troubleshooting Tools and Lessons From The Field
    Chapter 9 Troubleshooting Methodology and Practices
    241(18)
    Introduction
    241(1)
    Approaching Problems
    242(1)
    Ten Steps to Successful Troubleshooting
    242(2)
    Behavior and Attitude
    244(1)
    Success Criteria
    245(1)
    Working with Stakeholders
    245(1)
    Service-Level Agreements
    246(1)
    Engaging External Help
    247(1)
    Defining the Problem
    248(1)
    Guidelines for Identifying the Problem
    248(1)
    Isolating the Problem
    249(1)
    Performance Bottlenecks
    250(2)
    Data Collection
    252(1)
    Focused Data Collection
    253(1)
    Understanding Data Gathering
    253(1)
    Tools and Utilities
    254(1)
    Data Analysis
    255(1)
    Validating and Implementing Resolution
    256(1)
    Validating Changes
    256(1)
    Testing Changes in Isolation
    256(1)
    Implementing Resolution
    257(2)
    Summary
    257(2)
    Chapter 10 Viewing Server Performance with Perfmon and The Pal Tool
    259(36)
    Introduction
    259(1)
    Performance Monitor Overview
    260(1)
    Reliability and Performance Monitor
    260(3)
    New PerfMon Counters for SQL Server 2012
    263(5)
    Getting Started with PerfMon
    268(10)
    Getting More from Performance Monitor
    278(1)
    Bottlenecks and SQL Server
    278(1)
    Prescriptive Guidance
    279(5)
    Wait Stats Analysis
    284(1)
    Getting a Performance Baseline
    285(1)
    Performance Analysis of Logs
    285(1)
    Getting Started with PAL
    285(4)
    Other PerfMon Log Analysis Tools
    289(1)
    Using SQL Server to Analyze PerfMon Logs
    289(1)
    Combining PerfMon Logs and SQL Profiler Traces
    289(1)
    Using Relog
    290(1)
    Using LogMan
    291(2)
    Using LogParser
    293(2)
    Summary
    293(2)
    Chapter 11 Consolidating Data Capture with Sqldiag
    295(30)
    The Data Collection Dilemma
    295(1)
    An Approach to Data Collection
    296(1)
    Getting Friendly with SQLdiag
    297(1)
    Using SQLdiag in Snapshot Mode
    298(1)
    Using SQLdiag as a Command-line Application
    299(4)
    Using SQLdiag as a Service
    303(2)
    Using SQLdiag Configuration Manager
    305(2)
    Configuring SQLdiag Data Collection Using Diag Manager
    307(3)
    Adding Trace Filters to a SQLdiag Configuration
    310(8)
    Employing Best Practices
    318(1)
    Gearing Up for Long-Term Data Collodion
    319(1)
    Filtering Out the Noise
    320(2)
    Alert-Driven Data Collection with SQLdiag
    322(3)
    Summary
    323(2)
    Chapter 12 Bringing It All Together with SQL Nexus
    325(24)
    Introducing SQL Nexus
    325(1)
    Getting Familiar with SQL Nexus
    326(1)
    Prerequisites
    326(2)
    Loading Data into a Nexus Database
    328(3)
    Analyzing the Aggregated Data
    331(9)
    Customizing SQL Nexus
    340(1)
    Using ReadTrace.exe
    341(1)
    Building Custom Reports for SQL Nexus
    342(1)
    Running SQL Nexus Using the Command Prompt
    342(1)
    Creating Your Own Tables in the SQL Nexus Database
    342(2)
    Writing Your Own Queries
    344(1)
    The Ostress Executable
    344(2)
    Resolving Common Issues
    346(3)
    Issue #1
    346(1)
    Issue #2
    346(1)
    Issue #3
    346(1)
    Issue #4
    347(1)
    Summary
    348(1)
    Chapter 13 Diagnosing Sql Server 2012 Using Extended Events
    349(30)
    Introduction to Extended Events
    349(1)
    Getting Familiar with Extended Events
    350(1)
    Why You Should Be Using Extended Events
    351(1)
    SQL Server Roadmap
    351(1)
    Graphical Tools
    351(1)
    Low Impact
    351(1)
    When You Might Use Extended Events
    352(1)
    What Are Extended Events?
    352(1)
    Where the Name Extended Events Comes From
    353(1)
    Extended Events Terminology
    354(9)
    Creating Extended Events Sessions in SQL Server 2012
    363(1)
    Introduction to the New Session Form
    363(3)
    Monitoring Server Logins
    366(1)
    Monitoring for Page Splits with Extended Events
    367(2)
    Counting the Number of Locks Acquired per Object
    369(1)
    Creating Sessions Using T-SQL
    370(1)
    Viewing Data Captured by Extended Events
    371(1)
    Viewing Event File Data
    371(8)
    Summary
    376(3)
    Chapter 14 Enhancing Your Troubleshooting Toolset with Powershell
    379(26)
    Introducing PowerShell
    379(1)
    Getting Started with PowerShell
    380(1)
    The PowerShell Environment
    381(2)
    The Basics --- Cmdlets, Variables, Advanced Functions, and Modules
    383(7)
    Working Remotely
    390(1)
    What's New in SQL Server 2012
    391(2)
    Using PowerShell to Investigate Server Issues
    393(1)
    Interrogating Disk Space Utilization
    393(1)
    Interrogating Current Server Activity
    394(2)
    Interrogating for Warnings and Errors
    396(1)
    Interrogating Server Performance
    396(1)
    Proactively Tuning SQL Server Performance with PowerShell
    397(1)
    Index Maintenance
    397(1)
    Managing Disk Space Utilization of Backups
    398(1)
    Extracting DDL Using SMO
    398(5)
    Scheduling Script Execution
    403(2)
    Summary
    404(1)
    Chapter 15 Delivering A SQL Server Health Check
    405(40)
    The Importance of a SQL Server Health Check
    405(1)
    Running DMV and DMF Queries
    406(2)
    SQL Server Builds
    408(18)
    Database-Level Queries
    426(19)
    Summary
    442(3)
    Chapter 16 Delivering Manageability and Performance
    445(24)
    Improve Efficiency with SQL Server Manageability Features
    445(1)
    Manageability Enhancements in SQL Server 2012
    446(1)
    Policy-Based Management
    447(1)
    Overview
    447(13)
    Other Microsoft Tools for Managing SQL Server
    460(1)
    System Center Advisor
    461(3)
    System Center Operations Manager
    464(5)
    Summary
    466(3)
    Chapter 17 Running SQL Server in A Virtual Environment
    469(40)
    The Shift to Server Virtualization
    469(1)
    An Overview of Virtualization
    470(1)
    History of Virtualization
    471(1)
    The Breadth of Virtualization
    472(1)
    Platform Virtualization
    472(1)
    Cloud Computing
    473(1)
    Why Virtualize a Server?
    473(1)
    Business Benefits
    474(1)
    Technical Benefits
    474(1)
    Encapsulation
    475(1)
    SQL Server 2012 and Virtualization
    476(1)
    Limitations of Virtualization
    477(1)
    Common Virtualization Products
    477(1)
    VMware
    477(1)
    Microsoft Hyper-V
    478(1)
    Xen
    479(1)
    Hardware Support for Virtualization
    479(1)
    Virtualization Concepts
    480(1)
    Host Server
    480(1)
    Hypervisor
    480(2)
    Virtual Server (or Guest Server or Virtual Machine)
    482(1)
    Extended Features of Virtualization
    483(1)
    Snapshotting
    483(1)
    High-Availability Features
    483(1)
    Online Migration
    484(2)
    Highly Available Virtual Servers
    486(1)
    Host and Guest Clustering
    487(1)
    Deploying SQL Server with Visualization's High-Availability Features
    487(1)
    Managing Contention
    488(1)
    Good Contention
    488(1)
    Bad Contention
    488(1)
    Demand-Based Memory Allocation
    489(1)
    Weighting
    490(1)
    Identifying Candidates for Virtualization
    491(1)
    Guiding Principles
    491(1)
    Server Workload
    491(1)
    Gathering Sizing Data
    492(1)
    Sizing Tools
    493(1)
    Non-Performance Related Requirements
    493(1)
    Architecting Successful Virtual Database Servers
    494(1)
    Architecting Virtual Database Servers vs. Physical Database Servers
    494(1)
    Virtual Database Server Design
    495(7)
    Monitoring Virtualized Database Servers
    502(1)
    Information and Misinformation from Performance Monitor
    503(6)
    Summary
    507(2)
    Index 509
    Christian Bolton is the Technical Director for Coeo Ltd. and a Microsoft Certified Architect, Master, and MVP for SQL Server.

    Justin Langford is a Director at Coeo Ltd., a SQL Server MVP, and an author.



    Glenn Berry is a Principal Consultant at SQLSkills.com, a SQL Server MVP, and an author.

    Gavin Payne is a Senior Consultant for Coeo Ltd. and a Microsoft Certified Master for SQL Server.

    Amit Banerjee is a Premier Field Engineer at Microsoft and the owner of TroubleshootingSQL.com.

    Rob Farley is Owner/Principal of LobsterPot Solutions, a PASS Director, and a SQL Server MVP.

    Wrox Professional guides are written by working developers to address everyday needs. They provide examples, practical solutions, and expert education in new technologies, all designed to help programmers do a better job.