Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Mindfulness Personal Development Personal Transformation Meditation Life Purpose Emotional Intelligence Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Modeling Data Analysis Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Blogging Freelancing Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
IT & Software Operating Systems SQL Server

An Introduction to Wait Statistics in SQL Server 2019

A Hands-On Guide to Using Wait Statics in the Applied Space
Rating: 4.0 out of 54.0 (5 ratings)
49 students
Created by Mike West
Last updated 9/2020
English
English [Auto]
30-Day Money-Back Guarantee

What you'll learn

  • How to Install SQL Server 2019 and SQL Server Management Studio
  • How to use wait statistics to troubleshoot real-world problems.
  • How to incorporate wait statistics into sp_whoisactive to see what each transaction is waiting on.
  • How to fix issues you find using wait statistics.

Requirements

  • A foundation in SQL Server is highly recommended.
  • This is not an entry level SQL Server Course.

Description

Welcome to An Introduction to Wait Statistics in SQL Server 2019

This course is a brief, hands-on approach to using wait statistics in SQL Server. The course will use SQL Server 2019.

The execution of SQL Server’s internal code is done using a mechanism called threads. Each thread can be executing SQL Server code, and multiple threads coordinate together when a query runs in parallel. These threads are created when SQL Server starts, depending on the number of processor cores available for SQL Server to use.

Threads are placed on a scheduler when a query starts, with one scheduler per processor core, and don’t move off that scheduler until the query has finished. A scheduler has three basic ‘parts’:

  1. The processor, which has exactly one thread currently executing code.

  2. The waiter list, which has all the threads that are basically stuck, waiting for a particular resource to become available.

  3. The runnable queue, which has all the threads that are able to execute but are waiting to get on the processor.

Threads transition from state 1 to 2 to 3 to 1, around and around until the query has finished.

From our perspective, the most interesting part of scheduling is when a thread has to wait for a resource before it can continue. Some examples of this are: A thread needs to read a page, and the page isn’t in memory, so the thread issues an asynchronous physical I/O and then has to wait, off the processor, until the I/O completes. A thread needs to acquire a share lock on a row to read it, but another thread already holds a conflicting exclusive lock while it is updating the row.

When a thread encounters the need for a resource that it cannot get, it has no choice but to stop and wait for the resource to become available (the mechanism for how the thread is notified about resource availability is beyond the scope of this article). When that happens, SQL Server makes a note of why the thread had to wait and this is called the wait type. Some examples of this are: When a thread is waiting for a page to be read into memory so it can be read, the wait type is PAGEIOLATCH_SH (if the thread is waiting for a page that it will change, the wait type is PAGEIOLATCH_EX). When a thread is wait for a share lock on a row, the wait type is LCK_M_S (lock-mode-share)

SQL Server also keeps track of how long the thread has to wait. This is called the resource wait time, and is usually just known as the wait time.

Thanks for your interest in An Introduction to Wait Statistics in SQL Server 2019.

See you in the course.

Who this course is for:

  • You are a SQL Server Professional and you want to learn how to troubleshoot real-world SQL Server Problems.

Course content

2 sections • 23 lectures • 1h 18m total length

  • Preview01:07
  • Preview01:27
  • Preview01:13
  • Preview05:08
  • Preview03:06
  • Download COURSE CONTENT HERE
    00:03
  • Add and Upgrade the AdvertureWorks Database
    06:05
  • Download and Run sp_whoisactive
    01:34
  • Crash Course on whoisactive
    02:38
  • Install SQLQueryStress
    05:36
  • The Top Wait Statistics
    03:26

  • Top Waiters at the Instance Level
    04:02
  • Capturing Waits During a Specific Period of Time
    04:04
  • WRITELOG Defined Visually
    01:24
  • Capturing WRITELOG with whoisactive
    01:56
  • PAGIOLATCH Defined Visually
    01:15
  • PAGEIOLATCH
    05:56
  • ASYNC_NETWORK_IO
    03:46
  • Handling Tempb Contenion
    08:32
  • PREEMPTIVE_OS_FILEOPS
    07:34
  • SOS_SCHEDULER_YIELD
    04:30
  • Free Knowledge Resources
    00:59
  • Course Summation
    02:44

Instructor

Mike West
Chief Data Janitor
Mike West
  • 4.1 Instructor Rating
  • 12,359 Reviews
  • 213,329 Students
  • 53 Courses

I've worked with databases for over two decades. I've worked for or consulted with over 50 different companies as a full time employee or consultant. Fortune 500 as well as several small to mid-size companies. Some include: Georgia Pacific, SunTrust, Reed Construction Data, Building Systems Design, NetCertainty, The Home Shopping Network, SwingVote, Atlanta Gas and Light and Northrup Grumman. 

Over the last five years I've transitioned to the exciting world of applied machine learning.  I'm excited to show you what I've learned and help you move into one of the single most important fields in this space.

Experience, education and passion 

I learn something almost every day. I work with insanely smart people. I'm a voracious learner of all things SQL Server and I'm passionate about sharing what I've learned. My area of concentration is performance tuning. SQL Server is like an exotic sports car, it will run just fine in anyone's hands but put it in the hands of skilled tuner and it will perform like a race car. 

Certifications  

Certifications are like college degrees, they are a great starting points to begin learning. I'm a Microsoft Certified Database Administrator (MCDBA), Microsoft Certified System Engineer (MCSE) and Microsoft Certified Trainer (MCT). 

Personal  

Born in Ohio, raised and educated in Pennsylvania, I currently reside in Atlanta with my wife and two children.
 
 

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.