SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
WHAT ARE YOU   Jason Strate
               Database Architect
               Pragmatic Works, Inc.



WAITING FOR?
WHAT ARE YOU WAITING FOR?

You…
SQL Server
Developers
DBAs
AGENDA

Defining   Viewing   Collecting   Reviewing
AGENDA            Defining




Defining   Viewing   Collecting   Reviewing
WAIT, WAIT… I’LL TELL YOU


Waits & Queues Methodology
SO WHAT?!
WAIT STATISTICS



        Identity



Prioritize    Measure
EXECUTION MODEL (SIMPLIFIED)

Grocery Store
 Cashier
   Scheduler
 Customer
   Query
 Checkout Line
   Queue
     Running
     Runnable
     Suspended
EXECUTION MODEL (SIMPLIFIED)

                RUNNING
EXECUTION MODEL (SIMPLIFIED)

  RUNNABLE      RUNNING
EXECUTION MODEL (SIMPLIFIED)

  RUNNABLE          RUNNING




             WAIT



                    SUSPENDED
EXECUTION MODEL (SIMPLIFIED)

  RUNNABLE      RUNNING




                SUSPENDED
EXECUTION MODEL (SIMPLIFIED)

   RUNNABLE     RUNNING




WAIT TIME
                SUSPENDED
EXECUTION MODEL (SIMPLIFIED)

  RUNNABLE      RUNNING




                SUSPENDED
EXECUTION MODEL (SIMPLIFIED)

  RUNNABLE      RUNNING




                SUSPENDED
EXECUTION MODEL (SIMPLIFIED)

       RUNNABLE   RUNNING




SIGNAL WAIT       SUSPENDED
   TIME
AGENDA            Viewing




Defining   Viewing   Collecting   Reviewing
WAIT DMVS

 sys.dm_os_wait_stats
   Accumulated statistics on tasks that have waited for resources
 sys.dm_os_waiting_tasks
   Information on queued tasks waiting for resources
WAITS STATS
WAITS STATS

 Name of the wait type.
WAITS STATS
Number of waits on this wait type. This counter is
    incremented at the start of each wait.
WAITS STATS
Total wait time for this wait type in milliseconds. This
      time is inclusive of signal_wait_time_ms.
WAITS STATS

Maximum wait time on this wait type.
WAITS STATS
Difference between the time that the waiting thread
     was signaled and when it started running.
WAITING TASKS
WAITING TASKS
WAITING TASKS




ID of the session associated with the task.
WAITING TASKS




Total wait time for this wait type, in milliseconds. This
        time is inclusive of signal_wait_time.
WAITING TASKS




  Name of the wait type.
WAITING TASKS


ID of the session that is blocking the request. If this
 column is NULL, the request is not blocked, or the
 session information of the blocking session is not
                      available
WAITING TASKS




Difference between the time that the waiting thread
     was signaled and when it started running.
VIEWING WAIT STATS   Demo
AGENDA            Collecting




Defining   Viewing   Collecting   Reviewing
DMV STATS
MANAGEMENT DATA WAREHOUSE
DO-IT-YOURSELF




Collect     Summarize      Analyze
DO-IT-YOURSELF   Demo
AGENDA            Reviewing




Defining   Viewing   Collecting   Reviewing
WAIT T YPES

 Tied to process
     Audit
     Buffer
     I/O
     Indexing
     Lock
     SQLOS
 Categories
   Background
   External
   Queue
BACKGROUND WAITS


CLR_SEMAPHORE      CHECKPOINT_QUEUE
LAZYWRITER_SLEEP   XE_TIMER_EVENT
RESOURCE_QUEUE     BROKER_TO_FLUSH
        Not all inclusive
SLEEP_TASK         BROKER_TASK_STOP
SLEEP_SYSTEMTASK   CLR_MANUAL_EVENT
WAITFOR            CLR_AUTO_EVENT
LOGMGR_QUEUE       XE_DISPATCHER_WAIT
CXPACKET

Translation

•Contention with queries the at are executing in parallel; across multiple CPUs.
 Generally due to unbalanced execution across CPUs or tasks ahead of query
 executing longer than expected.

Guideline

•>5% for OLTP
•>10% for data warehouses

Resolution

•Review indexing
•Tune queries
•Adjust Max Degree of parallelism
•Research cost threshold for parallelism
OLEDB

Translation

• Occurs when SQL Server calls the Microsoft SQL Native Client OLE DB
  Provider. It indicates the duration of calls to the OLE DB provider.

Guideline

• Examine when it is a top wait and exceeds background waits. (TOP 5)

Resolution

• Identify queries with OLE DB waits with extended events or
  sys.dm_os_waiting_tasks
• Check application placement and Disk secs/Read and Disk secs/Write
• Tune transactions using RPC, Distributed (Linked Server), and Full Text
  Search
PAGEIOLATCH_X

Translation

• Contention caused by disk to memory transfer. Typically suggests disk IO
  subsystem issues.

Guideline

• Examine when it is a top wait and exceeds background waits. (TOP 5)

Resolution

• Review Physical disk: disk seconds/read and Physical disk: disk
  seconds/write and SQL Server Buffer Manager: Page Life Expectancy
• Review information for virtual file stats
• Reconfigure disk to improve IO throughput
• Analyze indexes to reduce need to move data to memory
• Increase memory to increase data available to SQL Server
PAGELATCH_X

Translation

• Contention between short term light weight synchronization objects.
  Latches are not held for the duration of a transaction. Occur in the
  buffer pool but unrelated to IO requests.

Guideline

• Examine when it is a top wait and exceeds background waits. (TOP 5)

Resolution

• Check tempdb configuration
  • Additional data files
  • Trace Flag 1118
• Troubleshoot memory pressure
LATCH_X

Translation

• Contention between short term light weight synchronization objects.
  Latches are not held for the duration of a transaction. Non buffer
  pool related.

Guideline

• Examine when it is a top wait and exceeds background waits. (TOP 5)

Resolution

• Review T-SQL generating LATCH waits using extended events.
• Examine memory items in sys.dm_os_latch_stats
• Partition table across multiple files
SQL SERVER MVP DEEP DIVES, VOLUME 2




                  www.operationsmile.org
                  www.manning.com/delaney
RESOURCES

Jason       e: jstrate@pragmaticworks.com
Strate
            e: jasonstrate@gmail.com
            b: www.jasonstrate.com
            t: StrateSQL
Resources   jasonstrate.com/go/Waits2013/

Mais conteúdo relacionado

Mais procurados

Agile db testing_techniques
Agile db testing_techniquesAgile db testing_techniques
Agile db testing_techniques
Tarik Essawi
 
OOUG - Oracle Performance Tuning with AAS
OOUG - Oracle Performance Tuning with AASOOUG - Oracle Performance Tuning with AAS
OOUG - Oracle Performance Tuning with AAS
Kyle Hailey
 

Mais procurados (20)

Agile db testing_techniques
Agile db testing_techniquesAgile db testing_techniques
Agile db testing_techniques
 
Oracle Database 12c - Features for Big Data
Oracle Database 12c - Features for Big DataOracle Database 12c - Features for Big Data
Oracle Database 12c - Features for Big Data
 
OOUG - Oracle Performance Tuning with AAS
OOUG - Oracle Performance Tuning with AASOOUG - Oracle Performance Tuning with AAS
OOUG - Oracle Performance Tuning with AAS
 
Oracle database performance tuning
Oracle database performance tuningOracle database performance tuning
Oracle database performance tuning
 
AWR DB performance Data Mining - Collaborate 2015
AWR DB performance Data Mining - Collaborate 2015AWR DB performance Data Mining - Collaborate 2015
AWR DB performance Data Mining - Collaborate 2015
 
Data Warehousing 101(and a video)
Data Warehousing 101(and a video)Data Warehousing 101(and a video)
Data Warehousing 101(and a video)
 
Inside SQL Server In-Memory OLTP
Inside SQL Server In-Memory OLTPInside SQL Server In-Memory OLTP
Inside SQL Server In-Memory OLTP
 
Oracle SQL Tuning for Day-to-Day Data Warehouse Support
Oracle SQL Tuning for Day-to-Day Data Warehouse SupportOracle SQL Tuning for Day-to-Day Data Warehouse Support
Oracle SQL Tuning for Day-to-Day Data Warehouse Support
 
Optimizing applications and database performance
Optimizing applications and database performanceOptimizing applications and database performance
Optimizing applications and database performance
 
SQL Server Wait Types Everyone Should Know
SQL Server Wait Types Everyone Should KnowSQL Server Wait Types Everyone Should Know
SQL Server Wait Types Everyone Should Know
 
AWR and ASH Deep Dive
AWR and ASH Deep DiveAWR and ASH Deep Dive
AWR and ASH Deep Dive
 
Awr1page OTW2018
Awr1page OTW2018Awr1page OTW2018
Awr1page OTW2018
 
SQL Server In-Memory OLTP: What Every SQL Professional Should Know
SQL Server In-Memory OLTP: What Every SQL Professional Should KnowSQL Server In-Memory OLTP: What Every SQL Professional Should Know
SQL Server In-Memory OLTP: What Every SQL Professional Should Know
 
Analyzing and Interpreting AWR
Analyzing and Interpreting AWRAnalyzing and Interpreting AWR
Analyzing and Interpreting AWR
 
Uncovering SQL Server query problems with execution plans - Tony Davis
Uncovering SQL Server query problems with execution plans - Tony DavisUncovering SQL Server query problems with execution plans - Tony Davis
Uncovering SQL Server query problems with execution plans - Tony Davis
 
Average Active Sessions RMOUG2007
Average Active Sessions RMOUG2007Average Active Sessions RMOUG2007
Average Active Sessions RMOUG2007
 
Your tuning arsenal: AWR, ADDM, ASH, Metrics and Advisors
Your tuning arsenal: AWR, ADDM, ASH, Metrics and AdvisorsYour tuning arsenal: AWR, ADDM, ASH, Metrics and Advisors
Your tuning arsenal: AWR, ADDM, ASH, Metrics and Advisors
 
Aioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_featuresAioug vizag oracle12c_new_features
Aioug vizag oracle12c_new_features
 
Advanced tips for making Oracle databases faster
Advanced tips for making Oracle databases fasterAdvanced tips for making Oracle databases faster
Advanced tips for making Oracle databases faster
 
Advanced t sql - querying and programming inside sql server
Advanced t sql - querying and programming inside sql serverAdvanced t sql - querying and programming inside sql server
Advanced t sql - querying and programming inside sql server
 

Semelhante a What are you waiting for? (#SQLSat211)

Getting optimal performance from oracle e business suite(aioug aug2015)
Getting optimal performance from oracle e business suite(aioug aug2015)Getting optimal performance from oracle e business suite(aioug aug2015)
Getting optimal performance from oracle e business suite(aioug aug2015)
pasalapudi123
 
Discovering the Plan Cache (#SQLSat 206)
Discovering the Plan Cache (#SQLSat 206)Discovering the Plan Cache (#SQLSat 206)
Discovering the Plan Cache (#SQLSat 206)
Jason Strate
 
SQL Explore 2012: P&T Part 1
SQL Explore 2012: P&T Part 1SQL Explore 2012: P&T Part 1
SQL Explore 2012: P&T Part 1
sqlserver.co.il
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Aaron Shilo
 

Semelhante a What are you waiting for? (#SQLSat211) (20)

ASH and AWR on DB12c
ASH and AWR on DB12cASH and AWR on DB12c
ASH and AWR on DB12c
 
Sql server performance tuning
Sql server performance tuningSql server performance tuning
Sql server performance tuning
 
Expert summit SQL Server 2016
Expert summit   SQL Server 2016Expert summit   SQL Server 2016
Expert summit SQL Server 2016
 
High Performance Mysql
High Performance MysqlHigh Performance Mysql
High Performance Mysql
 
MySQL Monitoring Mechanisms
MySQL Monitoring MechanismsMySQL Monitoring Mechanisms
MySQL Monitoring Mechanisms
 
MySQL Monitoring Mechanisms
MySQL Monitoring MechanismsMySQL Monitoring Mechanisms
MySQL Monitoring Mechanisms
 
Collaborate 2019 - How to Understand an AWR Report
Collaborate 2019 - How to Understand an AWR ReportCollaborate 2019 - How to Understand an AWR Report
Collaborate 2019 - How to Understand an AWR Report
 
Sql Server Performance Tuning
Sql Server Performance TuningSql Server Performance Tuning
Sql Server Performance Tuning
 
Getting optimal performance from oracle e business suite
Getting optimal performance from oracle e business suiteGetting optimal performance from oracle e business suite
Getting optimal performance from oracle e business suite
 
Getting optimal performance from oracle e business suite(aioug aug2015)
Getting optimal performance from oracle e business suite(aioug aug2015)Getting optimal performance from oracle e business suite(aioug aug2015)
Getting optimal performance from oracle e business suite(aioug aug2015)
 
Sherlock holmes for dba’s
Sherlock holmes for dba’sSherlock holmes for dba’s
Sherlock holmes for dba’s
 
Ash and awr deep dive hotsos
Ash and awr deep dive hotsosAsh and awr deep dive hotsos
Ash and awr deep dive hotsos
 
SQL Server It Just Runs Faster
SQL Server It Just Runs FasterSQL Server It Just Runs Faster
SQL Server It Just Runs Faster
 
Advanced ASE Performance Tuning Tips
Advanced ASE Performance Tuning Tips Advanced ASE Performance Tuning Tips
Advanced ASE Performance Tuning Tips
 
In-memory ColumnStore Index
In-memory ColumnStore IndexIn-memory ColumnStore Index
In-memory ColumnStore Index
 
Discovering the Plan Cache (#SQLSat 206)
Discovering the Plan Cache (#SQLSat 206)Discovering the Plan Cache (#SQLSat 206)
Discovering the Plan Cache (#SQLSat 206)
 
SQL Explore 2012: P&T Part 1
SQL Explore 2012: P&T Part 1SQL Explore 2012: P&T Part 1
SQL Explore 2012: P&T Part 1
 
Getting optimal performance from oracle e-business suite presentation
Getting optimal performance from oracle e-business suite presentationGetting optimal performance from oracle e-business suite presentation
Getting optimal performance from oracle e-business suite presentation
 
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
Exploring Oracle Database Performance Tuning Best Practices for DBAs and Deve...
 
Wait Watchers ; Gain SQL Performance Increases Fast!
Wait Watchers; Gain SQL Performance Increases Fast!Wait Watchers; Gain SQL Performance Increases Fast!
Wait Watchers ; Gain SQL Performance Increases Fast!
 

Mais de Jason Strate

BuildingSecurity Audits with Extended Events
BuildingSecurity Audits with Extended EventsBuildingSecurity Audits with Extended Events
BuildingSecurity Audits with Extended Events
Jason Strate
 
5 ways to improve performance through indexing
5 ways to improve performance through indexing5 ways to improve performance through indexing
5 ways to improve performance through indexing
Jason Strate
 
Discovering the plan cache (sql sat175)
Discovering the plan cache (sql sat175)Discovering the plan cache (sql sat175)
Discovering the plan cache (sql sat175)
Jason Strate
 
Introduction to SQL Server Security
Introduction to SQL Server SecurityIntroduction to SQL Server Security
Introduction to SQL Server Security
Jason Strate
 
Discovering the plan cache (#SQLSat211)
Discovering the plan cache (#SQLSat211)Discovering the plan cache (#SQLSat211)
Discovering the plan cache (#SQLSat211)
Jason Strate
 
A Function by Any Other Name is a Function
A Function by Any Other Name is a FunctionA Function by Any Other Name is a Function
A Function by Any Other Name is a Function
Jason Strate
 

Mais de Jason Strate (20)

Accelerating Business Intelligence Solutions with Microsoft Azure pass
Accelerating Business Intelligence Solutions with Microsoft Azure   passAccelerating Business Intelligence Solutions with Microsoft Azure   pass
Accelerating Business Intelligence Solutions with Microsoft Azure pass
 
The Plan Cache Whisperer - Performance Tuning SQL Server
The Plan Cache Whisperer - Performance Tuning SQL ServerThe Plan Cache Whisperer - Performance Tuning SQL Server
The Plan Cache Whisperer - Performance Tuning SQL Server
 
Strategies for SQL Server Index Analysis
Strategies for SQL Server Index AnalysisStrategies for SQL Server Index Analysis
Strategies for SQL Server Index Analysis
 
Leveraging Cloud for the Modern SQL Developer
Leveraging Cloud for the Modern SQL DeveloperLeveraging Cloud for the Modern SQL Developer
Leveraging Cloud for the Modern SQL Developer
 
Getting Started with Windows Azure and SQL Databases
Getting Started with Windows Azure and SQL DatabasesGetting Started with Windows Azure and SQL Databases
Getting Started with Windows Azure and SQL Databases
 
5 SQL Server Indexing Myths
5 SQL Server Indexing Myths5 SQL Server Indexing Myths
5 SQL Server Indexing Myths
 
Introduction to Columnstore Indexes
Introduction to Columnstore IndexesIntroduction to Columnstore Indexes
Introduction to Columnstore Indexes
 
Introduction to Clustered Indexes and Heaps
Introduction to Clustered Indexes and HeapsIntroduction to Clustered Indexes and Heaps
Introduction to Clustered Indexes and Heaps
 
The Flavors of Non-Clustered Indexes
The Flavors of Non-Clustered IndexesThe Flavors of Non-Clustered Indexes
The Flavors of Non-Clustered Indexes
 
Necessary Evils, Building Optimized CRUD Procedures
Necessary Evils, Building Optimized CRUD ProceduresNecessary Evils, Building Optimized CRUD Procedures
Necessary Evils, Building Optimized CRUD Procedures
 
How Do Non-Clustered Indexes Improve Performance?
How Do Non-Clustered Indexes Improve Performance?How Do Non-Clustered Indexes Improve Performance?
How Do Non-Clustered Indexes Improve Performance?
 
Choosing Your Clustered Index
Choosing Your Clustered IndexChoosing Your Clustered Index
Choosing Your Clustered Index
 
BuildingSecurity Audits with Extended Events
BuildingSecurity Audits with Extended EventsBuildingSecurity Audits with Extended Events
BuildingSecurity Audits with Extended Events
 
5 Amazing Reasons DBAs Need to Love Extended Events
5 Amazing Reasons DBAs Need to Love Extended Events5 Amazing Reasons DBAs Need to Love Extended Events
5 Amazing Reasons DBAs Need to Love Extended Events
 
5 ways to improve performance through indexing
5 ways to improve performance through indexing5 ways to improve performance through indexing
5 ways to improve performance through indexing
 
The Side Effect of NOLOCK
The Side Effect of NOLOCKThe Side Effect of NOLOCK
The Side Effect of NOLOCK
 
Discovering the plan cache (sql sat175)
Discovering the plan cache (sql sat175)Discovering the plan cache (sql sat175)
Discovering the plan cache (sql sat175)
 
Introduction to SQL Server Security
Introduction to SQL Server SecurityIntroduction to SQL Server Security
Introduction to SQL Server Security
 
Discovering the plan cache (#SQLSat211)
Discovering the plan cache (#SQLSat211)Discovering the plan cache (#SQLSat211)
Discovering the plan cache (#SQLSat211)
 
A Function by Any Other Name is a Function
A Function by Any Other Name is a FunctionA Function by Any Other Name is a Function
A Function by Any Other Name is a Function
 

What are you waiting for? (#SQLSat211)

  • 1. WHAT ARE YOU Jason Strate Database Architect Pragmatic Works, Inc. WAITING FOR?
  • 2. WHAT ARE YOU WAITING FOR? You… SQL Server Developers DBAs
  • 3. AGENDA Defining Viewing Collecting Reviewing
  • 4. AGENDA Defining Defining Viewing Collecting Reviewing
  • 5. WAIT, WAIT… I’LL TELL YOU Waits & Queues Methodology
  • 7. WAIT STATISTICS Identity Prioritize Measure
  • 8. EXECUTION MODEL (SIMPLIFIED) Grocery Store  Cashier  Scheduler  Customer  Query  Checkout Line  Queue  Running  Runnable  Suspended
  • 10. EXECUTION MODEL (SIMPLIFIED) RUNNABLE RUNNING
  • 11. EXECUTION MODEL (SIMPLIFIED) RUNNABLE RUNNING WAIT SUSPENDED
  • 12. EXECUTION MODEL (SIMPLIFIED) RUNNABLE RUNNING SUSPENDED
  • 13. EXECUTION MODEL (SIMPLIFIED) RUNNABLE RUNNING WAIT TIME SUSPENDED
  • 14. EXECUTION MODEL (SIMPLIFIED) RUNNABLE RUNNING SUSPENDED
  • 15. EXECUTION MODEL (SIMPLIFIED) RUNNABLE RUNNING SUSPENDED
  • 16. EXECUTION MODEL (SIMPLIFIED) RUNNABLE RUNNING SIGNAL WAIT SUSPENDED TIME
  • 17. AGENDA Viewing Defining Viewing Collecting Reviewing
  • 18. WAIT DMVS  sys.dm_os_wait_stats  Accumulated statistics on tasks that have waited for resources  sys.dm_os_waiting_tasks  Information on queued tasks waiting for resources
  • 20. WAITS STATS Name of the wait type.
  • 21. WAITS STATS Number of waits on this wait type. This counter is incremented at the start of each wait.
  • 22. WAITS STATS Total wait time for this wait type in milliseconds. This time is inclusive of signal_wait_time_ms.
  • 23. WAITS STATS Maximum wait time on this wait type.
  • 24. WAITS STATS Difference between the time that the waiting thread was signaled and when it started running.
  • 27. WAITING TASKS ID of the session associated with the task.
  • 28. WAITING TASKS Total wait time for this wait type, in milliseconds. This time is inclusive of signal_wait_time.
  • 29. WAITING TASKS Name of the wait type.
  • 30. WAITING TASKS ID of the session that is blocking the request. If this column is NULL, the request is not blocked, or the session information of the blocking session is not available
  • 31. WAITING TASKS Difference between the time that the waiting thread was signaled and when it started running.
  • 33. AGENDA Collecting Defining Viewing Collecting Reviewing
  • 36. DO-IT-YOURSELF Collect Summarize Analyze
  • 38. AGENDA Reviewing Defining Viewing Collecting Reviewing
  • 39. WAIT T YPES  Tied to process  Audit  Buffer  I/O  Indexing  Lock  SQLOS  Categories  Background  External  Queue
  • 40. BACKGROUND WAITS CLR_SEMAPHORE CHECKPOINT_QUEUE LAZYWRITER_SLEEP XE_TIMER_EVENT RESOURCE_QUEUE BROKER_TO_FLUSH Not all inclusive SLEEP_TASK BROKER_TASK_STOP SLEEP_SYSTEMTASK CLR_MANUAL_EVENT WAITFOR CLR_AUTO_EVENT LOGMGR_QUEUE XE_DISPATCHER_WAIT
  • 41. CXPACKET Translation •Contention with queries the at are executing in parallel; across multiple CPUs. Generally due to unbalanced execution across CPUs or tasks ahead of query executing longer than expected. Guideline •>5% for OLTP •>10% for data warehouses Resolution •Review indexing •Tune queries •Adjust Max Degree of parallelism •Research cost threshold for parallelism
  • 42. OLEDB Translation • Occurs when SQL Server calls the Microsoft SQL Native Client OLE DB Provider. It indicates the duration of calls to the OLE DB provider. Guideline • Examine when it is a top wait and exceeds background waits. (TOP 5) Resolution • Identify queries with OLE DB waits with extended events or sys.dm_os_waiting_tasks • Check application placement and Disk secs/Read and Disk secs/Write • Tune transactions using RPC, Distributed (Linked Server), and Full Text Search
  • 43. PAGEIOLATCH_X Translation • Contention caused by disk to memory transfer. Typically suggests disk IO subsystem issues. Guideline • Examine when it is a top wait and exceeds background waits. (TOP 5) Resolution • Review Physical disk: disk seconds/read and Physical disk: disk seconds/write and SQL Server Buffer Manager: Page Life Expectancy • Review information for virtual file stats • Reconfigure disk to improve IO throughput • Analyze indexes to reduce need to move data to memory • Increase memory to increase data available to SQL Server
  • 44. PAGELATCH_X Translation • Contention between short term light weight synchronization objects. Latches are not held for the duration of a transaction. Occur in the buffer pool but unrelated to IO requests. Guideline • Examine when it is a top wait and exceeds background waits. (TOP 5) Resolution • Check tempdb configuration • Additional data files • Trace Flag 1118 • Troubleshoot memory pressure
  • 45. LATCH_X Translation • Contention between short term light weight synchronization objects. Latches are not held for the duration of a transaction. Non buffer pool related. Guideline • Examine when it is a top wait and exceeds background waits. (TOP 5) Resolution • Review T-SQL generating LATCH waits using extended events. • Examine memory items in sys.dm_os_latch_stats • Partition table across multiple files
  • 46. SQL SERVER MVP DEEP DIVES, VOLUME 2  www.operationsmile.org  www.manning.com/delaney
  • 47. RESOURCES Jason e: jstrate@pragmaticworks.com Strate e: jasonstrate@gmail.com b: www.jasonstrate.com t: StrateSQL Resources jasonstrate.com/go/Waits2013/