Helping with Waits Repository

** Please do not share the link to this page! ** (I don’t want to be deluged with data/help requests from hundreds of people.)

First of all, thank you for volunteering to help!

The waits and latches libraries are open for use at https://www.sqlskills.com/help/waits and https://www.sqlskills.com/help/latches.

I need help gathering call stacks from 2008 R2 through 2016 (2005 doesn’t have Extended Events and 2008 is too limited) to identify where particular waits occur in SQL Server. Doesn’t matter which version you’re on as the scripts work on all versions. You can run a general workload or try to hit stacks in areas where the library is lacking (full text, availability groups, filetable, DTC, Hekaton, COM).

Process for helping (last updated May 20, 2016):

  • Install debug symbols on your server. If you’re not able to do this, you won’t be able to help, as gathering SQL Server call stacks is the purpose of you helping. You can get instructions for how to install symbols in this blog post.
  • Try capturing some call stacks to make sure you’ve installed symbols ok. Use the example in this blog post, and once you’ve started the example XEvent session, create and drop a dummy database, and then look at the output. If you get incomplete call stacks, you’re missing one or more PDB files.
  • Choose whether to capture information on latches, all uncommon wait types, or only preemptive wait types and pick the script from the gather.zip file. The scripts are version agnostic.
  • Start the event session, enable the global trace flag, and capture a bunch of call stacks. It’s critical that you enable the trace flag to allow call stack resolution.
  • For waits: Run the code in ProcessWaitsCallstacks.sql from the zip file (don’t change the process otherwise I won’t be able to use the data). It will create a backup file with the aggregate call stack info in it. Put that somewhere I can download and let me know. Please don’t email me the backup file.
  • For latches: Run the code in ProcessLatchesCallstacks.sql from the zip file (don’t change the process otherwise I won’t be able to use the data). It will create a backup file with the aggregate call stack info in it. Put that somewhere I can download and let me know. Please don’t email me the backup file.

It’s that simple! No amount of data is too small or too large.

Let me know if you have any problems at all.

Thanks again!