{"id":526,"date":"2011-10-05T08:43:00","date_gmt":"2011-10-05T08:43:00","guid":{"rendered":"\/blogs\/joe\/post\/Under-the-covers-with-sp_server_diagnostics-data-(Part-II).aspx"},"modified":"2013-01-02T20:32:36","modified_gmt":"2013-01-03T04:32:36","slug":"under-the-covers-with-sp_server_diagnostics-data-part-ii","status":"publish","type":"post","link":"https:\/\/www.sqlskills.com\/blogs\/joe\/under-the-covers-with-sp_server_diagnostics-data-part-ii\/","title":{"rendered":"Under the covers with sp_server_diagnostics data (Part II)"},"content":{"rendered":"<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 10pt\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\"><em>This post covers examples from Denali CTP3, version 11.0.1440<\/em>.<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 10pt\" class=\"MsoNormal\">\n<font face=\"Calibri\" size=\"3\">In my last post, &ldquo;<\/font><a href=\"https:\/\/www.sqlskills.com\/blogs\/joe\/under-the-covers-with-sp_server_diagnostics-data-part-i\/\" target=\"_blank\"><font face=\"Calibri\" size=\"3\" color=\"#0000ff\">Under The Covers With Sp_server_diagnostics Data (Part I)<\/font><\/a><font face=\"Calibri\"><font size=\"3\">&rdquo; I started an exploration of the output surfaced from the sp_server_diagnostics stored procedure.<span>&nbsp; <\/span>In this post, I&rsquo;d like to continue this exploration, having a look specifically at the &ldquo;query_processing&rdquo;, &ldquo;io_subsystem&rdquo; and &ldquo;events&rdquo; component data. <\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 10pt\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\">Just a reminder of why we would be looking at this in the first place?<span>&nbsp; <\/span>Quite simply, I see this output as a means of gathering out-of-the-box SQL Server health information in absence of (or in compliment of) existing scripts or processes running on the SQL Server instance.<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 10pt\" class=\"MsoNormal\">\n<font size=\"3\"><font face=\"Calibri\">So continuing on the exploration, the query_processing component data can actually be broken down into five useful groupings of statistics:<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"text-indent: -0.25in; margin: 0in 0in 0pt 0.5in\" class=\"MsoListParagraphCxSpFirst\">\n<span style=\"font-family: Symbol\"><span><font size=\"3\">&middot;<\/font><span style=\"font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><font face=\"Calibri\"><font size=\"3\">Query processing statistics<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"text-indent: -0.25in; margin: 0in 0in 0pt 0.5in\" class=\"MsoListParagraphCxSpMiddle\">\n<span style=\"font-family: Symbol\"><span><font size=\"3\">&middot;<\/font><span style=\"font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><font face=\"Calibri\"><font size=\"3\">Top non-preemptive wait statistics by count<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"text-indent: -0.25in; margin: 0in 0in 0pt 0.5in\" class=\"MsoListParagraphCxSpMiddle\">\n<span style=\"font-family: Symbol\"><span><font size=\"3\">&middot;<\/font><span style=\"font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><font face=\"Calibri\"><font size=\"3\">Top non-preemptive wait statistics by duration<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"text-indent: -0.25in; margin: 0in 0in 0pt 0.5in\" class=\"MsoListParagraphCxSpMiddle\">\n<span style=\"font-family: Symbol\"><span><font size=\"3\">&middot;<\/font><span style=\"font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><font face=\"Calibri\"><font size=\"3\">Top preemptive waits by count<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"text-indent: -0.25in; margin: 0in 0in 10pt 0.5in\" class=\"MsoListParagraphCxSpLast\">\n<span style=\"font-family: Symbol\"><span><font size=\"3\">&middot;<\/font><span style=\"font: 7pt 'Times New Roman'; font-size-adjust: none; font-stretch: normal\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span><\/span><\/span><font face=\"Calibri\"><font size=\"3\">Top preemptive waits by duration<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 10pt\" class=\"MsoNormal\">\n<font size=\"3\"><font face=\"Calibri\">The following is an example of the query processing statistics data:<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<font size=\"3\"><font face=\"Calibri\">&lt;queryProcessing maxWorkers=&quot;512&quot; workersCreated=&quot;46&quot; workersIdle=&quot;17&quot; tasksCompletedWithinInterval=&quot;12&quot; pendingTasks=&quot;0&quot; oldestPendingTaskWaitingTime=&quot;0&quot; hasUnresolvableDeadlockOccurred=&quot;0&quot; hasDeadlockedSchedulersOccurred=&quot;0&quot; trackingNonYieldingScheduler=&quot;0x0&quot;&gt;<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n&nbsp;\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\" size=\"3\"><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font size=\"3\"><font face=\"Calibri\">The naming conventions are intuitive &ndash; returning a point of time measurement of max workers, actual workers created, idle workers, pending tasks, oldest pending task waiting time (I&rsquo;ll definitely be paying attention to this one) and scheduler deadlock and non-yielding counts.<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n&nbsp;\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\" size=\"3\"><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\">For fans of evaluating wait statistics (and hopefully that&rsquo;s most SQL Server folks these days) &ndash; we have a four sets of Top 10 wait stats results.<span>&nbsp; <\/span>The following is the output of the top non-preemptive waits by count (and specifically &ndash; by the &ldquo;waits&rdquo; attribute):<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n&nbsp;\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\" size=\"3\"><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\">&lt;byCount&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;HADR_FILESTREAM_IOMGR_IOCOMPLETION&quot; waits=&quot;1884&quot; averageWaitTime=&quot;967892&quot; maxWaitTime=&quot;800&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;PAGEIOLATCH_SH&quot; waits=&quot;534&quot; averageWaitTime=&quot;1329&quot; maxWaitTime=&quot;37&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;IO_COMPLETION&quot; waits=&quot;71&quot; averageWaitTime=&quot;128&quot; maxWaitTime=&quot;4&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;THREADPOOL&quot; waits=&quot;53&quot; averageWaitTime=&quot;209&quot; maxWaitTime=&quot;25&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;WRITELOG&quot; waits=&quot;35&quot; averageWaitTime=&quot;58&quot; maxWaitTime=&quot;17&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;PERFORMANCE_COUNTERS_RWLOCK&quot; waits=&quot;18&quot; averageWaitTime=&quot;3&quot; maxWaitTime=&quot;1&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;ASYNC_NETWORK_IO&quot; waits=&quot;10&quot; averageWaitTime=&quot;125&quot; maxWaitTime=&quot;118&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;PAGEIOLATCH_EX&quot; waits=&quot;8&quot; averageWaitTime=&quot;14&quot; maxWaitTime=&quot;6&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;SLEEP_DBSTARTUP&quot; waits=&quot;8&quot; averageWaitTime=&quot;779&quot; maxWaitTime=&quot;175&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;CLR_AUTO_EVENT&quot; waits=&quot;8&quot; averageWaitTime=&quot;8527&quot; maxWaitTime=&quot;4085&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;\/byCount&gt;<\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n&nbsp;\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\" size=\"3\"><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font size=\"3\"><font face=\"Calibri\">We also have the non-preemptive waits by duration (and specifically &ndash; by the average wait time):<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n&nbsp;\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\" size=\"3\"><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp; <\/span>&lt;byDuration&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;HADR_FILESTREAM_IOMGR_IOCOMPLETION&quot; waits=&quot;1884&quot; averageWaitTime=&quot;967892&quot; maxWaitTime=&quot;800&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;CLR_AUTO_EVENT&quot; waits=&quot;8&quot; averageWaitTime=&quot;8527&quot; maxWaitTime=&quot;4085&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;FT_IFTSHC_MUTEX&quot; waits=&quot;6&quot; averageWaitTime=&quot;4381&quot; maxWaitTime=&quot;2977&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;SLEEP_MASTERDBREADY&quot; waits=&quot;1&quot; averageWaitTime=&quot;1836&quot; maxWaitTime=&quot;1836&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;PWAIT_ALL_COMPONENTS_INITIALIZED&quot; waits=&quot;3&quot; averageWaitTime=&quot;1558&quot; maxWaitTime=&quot;541&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;PAGEIOLATCH_SH&quot; waits=&quot;534&quot; averageWaitTime=&quot;1329&quot; maxWaitTime=&quot;37&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;LCK_M_S&quot; waits=&quot;5&quot; averageWaitTime=&quot;1146&quot; maxWaitTime=&quot;336&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;SLEEP_DBSTARTUP&quot; waits=&quot;8&quot; averageWaitTime=&quot;779&quot; maxWaitTime=&quot;175&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;SLEEP_DCOMSTARTUP&quot; waits=&quot;1&quot; averageWaitTime=&quot;377&quot; maxWaitTime=&quot;377&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;wait waitType=&quot;FFT_RECOVERY&quot; waits=&quot;5&quot; averageWaitTime=&quot;241&quot; maxWaitTime=&quot;118&quot; \/&gt;<\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;\/byDuration&gt;<\/font><\/span>\n<\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n&nbsp;\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<span style=\"line-height: 115%; font-size: 9pt\"><font face=\"Calibri\"><\/font><\/span>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\">We have two more result sets for isolating out preemptive waits that are identical in format to the non-preemptive results, so I won&rsquo;t repeat them here.<span>&nbsp; <\/span>And while we can pull aggregated wait statistics from other sources &ndash; it is convenient to have this data at-the-ready.<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n&nbsp;\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\" size=\"3\"><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font size=\"3\"><font face=\"Calibri\">Next we have the I\/O component data which is far less verbose in my sample output:<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n&nbsp;\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\" size=\"3\"><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<font size=\"3\"><font face=\"Calibri\">&lt;ioSubsystem ioLatchTimeouts=&quot;0&quot; intervalLongIos=&quot;0&quot; totalLongIos=&quot;0&quot;&gt;<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\"><span>&nbsp; <\/span>&lt;longestPendingRequests \/&gt;<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<font size=\"3\"><font face=\"Calibri\">&lt;\/ioSubsystem&gt;<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n&nbsp;\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\" size=\"3\"><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\">There we can see information on latch timeouts and long I\/Os.<span>&nbsp; <\/span>My test system didn&rsquo;t have a value for the longest pending requests &ndash; and that is something I&rsquo;ll look for later &ndash; but if you have a sample on your own Denali system, please post to the comments.<span>&nbsp;&nbsp; <\/span>I&rsquo;d also be curious to compare the value of this data against what gets exposed in sys.dm_io_pending_io_requests<span>&nbsp; <\/span>and see which has more value from a troubleshooting perspective.<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n&nbsp;\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\" size=\"3\"><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font size=\"3\"><font face=\"Calibri\">The last component to cover from sp_server_diagnostics data is the &ldquo;events&rdquo; output (here is the vanilla output without events for starters):<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n&nbsp;\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\" size=\"3\"><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<font size=\"3\"><font face=\"Calibri\">&lt;events&gt;<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\"><span>&nbsp; <\/span>&lt;session startTime=&quot;2011-10-03T14:11:52.380&quot; droppedEvents=&quot;0&quot; largestDroppedEvent=&quot;0&quot;&gt;<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\"><span>&nbsp;&nbsp;&nbsp; <\/span>&lt;RingBufferTarget truncated=&quot;0&quot; processingTime=&quot;0&quot; totalEventsProcessed=&quot;0&quot; eventCount=&quot;0&quot; droppedCount=&quot;0&quot; memoryUsed=&quot;0&quot; \/&gt;<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\"><span>&nbsp; <\/span>&lt;\/session&gt;<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n<font size=\"3\"><font face=\"Calibri\">&lt;\/events&gt;<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt 0.5in\" class=\"MsoNormal\">\n&nbsp;\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\" size=\"3\"><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font size=\"3\"><font face=\"Calibri\">BOL states that this will expose events &ldquo;of interest&rdquo; recorded on the SQL Server instance &ndash; similar to what you could pull from the ring buffer.<span>&nbsp; <\/span>So when testing a login failure by putting in a bad login identifier, I saw three events raised &ndash; one being &ldquo;security_error_ring_buffer_recorded&rdquo; and then the others being two &ldquo;connectivity_ring_buffer_recorded&rdquo; events.<span>&nbsp; <\/span>The first connectivity event was for an event type of &ldquo;Error&rdquo; and another of &ldquo;ConnClose&rdquo;.<span>&nbsp; <\/span><\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font size=\"3\"><font face=\"Calibri\"><span><\/span><\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\" size=\"3\"><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\">The data exposed is pretty chatty &ndash; so you might wonder (as compared to the wait statistics) &ndash; whether it is worth sifting through. <span>&nbsp;<\/span>One example is for security error ring buffer data &ndash; which in my testing did show a few bread crumbs of interesting troubleshooting data.<span>&nbsp; <\/span>For example, useful data on the error number, state and remote host:<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n&nbsp;\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\" size=\"3\"><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font size=\"3\"><font face=\"Calibri\">&lt;data name=&quot;sni_consumer_error&quot;&gt;<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;type name=&quot;uint32&quot; package=&quot;package0&quot; \/&gt;<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;value&gt;18456&lt;\/value&gt;<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;\/data&gt;<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font size=\"3\"><font face=\"Calibri\">&lt;data name=&quot;state&quot;&gt;<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;type name=&quot;uint32&quot; package=&quot;package0&quot; \/&gt;<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;value&gt;5&lt;\/value&gt;<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;\/data&gt;<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font size=\"3\"><font face=\"Calibri\">&lt;data name=&quot;remote_host&quot;&gt;<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;type name=&quot;ansi_string&quot; package=&quot;package0&quot; \/&gt;<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;value&gt;&amp;lt;local machine&amp;gt;&lt;\/value&gt;<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\"><font size=\"3\"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&lt;\/data&gt;<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n&nbsp;\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\" size=\"3\"><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\" size=\"3\">So from this data we know that an error 18456 and state 5 occurred.<span>&nbsp; <\/span>We also know that state 5 represents an invalid user id.<span>&nbsp; <\/span>Testing a bad password, I saw a state of 8, which does indeed represent a password mismatch (see the post <\/font><a href=\"http:\/\/blogs.msdn.com\/b\/sql_protocols\/archive\/2006\/02\/21\/536201.aspx\" target=\"_blank\" class=\"broken_link\"><font face=\"Calibri\" size=\"3\" color=\"#0000ff\">Understanding &quot;login failed&quot; (Error 18456) error messages in SQL Server 2005<\/font><\/a><font face=\"Calibri\"><font size=\"3\"> for more on this tangent).<\/font><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font face=\"Calibri\" size=\"3\"><\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font size=\"3\"><font face=\"Calibri\">So that&rsquo;s an initial tour of the data exposed by sp_server_diagnostics.<span>&nbsp; <\/span>As Denali starts rolling out more broadly, I anticipate several parsing scripts being generated by the SQL community.<span>&nbsp; <\/span>There are several use-cases that I can imagine from this data, so I&rsquo;ll keep watching this space and will report back the more valuable uses as I find them.<\/font><\/font>\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n&nbsp;\n<\/p>\n<p style=\"margin: 0in 0in 0pt\" class=\"MsoNormal\">\n<font size=\"3\">** Update &#8211; Aaron Bertrand wrote a very comprehensive 18456 reference in the following post, &quot;<a href=\"http:\/\/sqlblog.com\/blogs\/aaron_bertrand\/archive\/2011\/01\/14\/sql-server-v-next-denali-additional-states-for-error-18456.aspx\" target=\"_blank\" class=\"broken_link\">Troubleshooting Error 18456<\/a>&quot;. <\/font>\n<\/p>\n<p><font face=\"Times New Roman\" size=\"3\"><\/font><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This post covers examples from Denali CTP3, version 11.0.1440. In my last post, &ldquo;Under The Covers With Sp_server_diagnostics Data (Part I)&rdquo; I started an exploration of the output surfaced from the sp_server_diagnostics stored procedure.&nbsp; In this post, I&rsquo;d like to continue this exploration, having a look specifically at the &ldquo;query_processing&rdquo;, &ldquo;io_subsystem&rdquo; and &ldquo;events&rdquo; component data. [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28],"tags":[],"class_list":["post-526","post","type-post","status-publish","format-standard","hentry","category-performance"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v21.9.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Under the covers with sp_server_diagnostics data (Part II) - Joe Sack<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.sqlskills.com\/blogs\/joe\/under-the-covers-with-sp_server_diagnostics-data-part-ii\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Under the covers with sp_server_diagnostics data (Part II) - Joe Sack\" \/>\n<meta property=\"og:description\" content=\"This post covers examples from Denali CTP3, version 11.0.1440. In my last post, &ldquo;Under The Covers With Sp_server_diagnostics Data (Part I)&rdquo; I started an exploration of the output surfaced from the sp_server_diagnostics stored procedure.&nbsp; In this post, I&rsquo;d like to continue this exploration, having a look specifically at the &ldquo;query_processing&rdquo;, &ldquo;io_subsystem&rdquo; and &ldquo;events&rdquo; component data. [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.sqlskills.com\/blogs\/joe\/under-the-covers-with-sp_server_diagnostics-data-part-ii\/\" \/>\n<meta property=\"og:site_name\" content=\"Joe Sack\" \/>\n<meta property=\"article:published_time\" content=\"2011-10-05T08:43:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2013-01-03T04:32:36+00:00\" \/>\n<meta name=\"author\" content=\"Joseph Sack\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joseph Sack\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/under-the-covers-with-sp_server_diagnostics-data-part-ii\/\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/under-the-covers-with-sp_server_diagnostics-data-part-ii\/\",\"name\":\"Under the covers with sp_server_diagnostics data (Part II) - Joe Sack\",\"isPartOf\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/#website\"},\"datePublished\":\"2011-10-05T08:43:00+00:00\",\"dateModified\":\"2013-01-03T04:32:36+00:00\",\"author\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/#\/schema\/person\/533eb0113a15fb5a6e8067a49e4ae648\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/under-the-covers-with-sp_server_diagnostics-data-part-ii\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.sqlskills.com\/blogs\/joe\/under-the-covers-with-sp_server_diagnostics-data-part-ii\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/under-the-covers-with-sp_server_diagnostics-data-part-ii\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Performance\",\"item\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/category\/performance\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Under the covers with sp_server_diagnostics data (Part II)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/#website\",\"url\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/\",\"name\":\"Joe Sack\",\"description\":\"SQL Server Performance Tuning, High Availability and Disaster Recovery Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/#\/schema\/person\/533eb0113a15fb5a6e8067a49e4ae648\",\"name\":\"Joseph Sack\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/a4b39a7719a6bfff1add3ec00527810734579ee114d6d983e8e68f937b77be96?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/a4b39a7719a6bfff1add3ec00527810734579ee114d6d983e8e68f937b77be96?s=96&d=mm&r=g\",\"caption\":\"Joseph Sack\"},\"description\":\"Joe Sack is a Principal Consultant with SQLskills. He has worked as a SQL Server professional since 1997 and has supported and developed for SQL Server environments in financial services, IT consulting, manufacturing, retail and the real estate industry. Prior to joining SQLskills he worked at Microsoft as a Premier Field Engineer supporting very large enterprise customer environments. He was responsible for providing deep SQL Server advisory services, training, troubleshooting and ongoing solutions guidance. His areas of expertise include performance tuning, scalability, T-SQL development and high-availability. In 2006 Joe earned the \u201cMicrosoft Certified Master: SQL Server 2005\u201d certification and in 2008 he earned the \u201cMicrosoft Certified Master: SQL Server 2008\u201d certification. In 2009 he took over responsibility for the entire SQL Server Microsoft Certified Master program and held that post until 2011. He was given the SQL Server MVP award in 2013.\",\"sameAs\":[\"http:\/\/3.209.169.194\/blogs\/joe\",\"https:\/\/twitter.com\/https:\/\/twitter.com\/josephsack\"],\"url\":\"https:\/\/www.sqlskills.com\/blogs\/joe\/author\/joe\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Under the covers with sp_server_diagnostics data (Part II) - Joe Sack","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.sqlskills.com\/blogs\/joe\/under-the-covers-with-sp_server_diagnostics-data-part-ii\/","og_locale":"en_US","og_type":"article","og_title":"Under the covers with sp_server_diagnostics data (Part II) - Joe Sack","og_description":"This post covers examples from Denali CTP3, version 11.0.1440. In my last post, &ldquo;Under The Covers With Sp_server_diagnostics Data (Part I)&rdquo; I started an exploration of the output surfaced from the sp_server_diagnostics stored procedure.&nbsp; In this post, I&rsquo;d like to continue this exploration, having a look specifically at the &ldquo;query_processing&rdquo;, &ldquo;io_subsystem&rdquo; and &ldquo;events&rdquo; component data. [&hellip;]","og_url":"https:\/\/www.sqlskills.com\/blogs\/joe\/under-the-covers-with-sp_server_diagnostics-data-part-ii\/","og_site_name":"Joe Sack","article_published_time":"2011-10-05T08:43:00+00:00","article_modified_time":"2013-01-03T04:32:36+00:00","author":"Joseph Sack","twitter_misc":{"Written by":"Joseph Sack","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/under-the-covers-with-sp_server_diagnostics-data-part-ii\/","url":"https:\/\/www.sqlskills.com\/blogs\/joe\/under-the-covers-with-sp_server_diagnostics-data-part-ii\/","name":"Under the covers with sp_server_diagnostics data (Part II) - Joe Sack","isPartOf":{"@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/#website"},"datePublished":"2011-10-05T08:43:00+00:00","dateModified":"2013-01-03T04:32:36+00:00","author":{"@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/#\/schema\/person\/533eb0113a15fb5a6e8067a49e4ae648"},"breadcrumb":{"@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/under-the-covers-with-sp_server_diagnostics-data-part-ii\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.sqlskills.com\/blogs\/joe\/under-the-covers-with-sp_server_diagnostics-data-part-ii\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/under-the-covers-with-sp_server_diagnostics-data-part-ii\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.sqlskills.com\/blogs\/joe\/"},{"@type":"ListItem","position":2,"name":"Performance","item":"https:\/\/www.sqlskills.com\/blogs\/joe\/category\/performance\/"},{"@type":"ListItem","position":3,"name":"Under the covers with sp_server_diagnostics data (Part II)"}]},{"@type":"WebSite","@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/#website","url":"https:\/\/www.sqlskills.com\/blogs\/joe\/","name":"Joe Sack","description":"SQL Server Performance Tuning, High Availability and Disaster Recovery Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.sqlskills.com\/blogs\/joe\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/#\/schema\/person\/533eb0113a15fb5a6e8067a49e4ae648","name":"Joseph Sack","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.sqlskills.com\/blogs\/joe\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/a4b39a7719a6bfff1add3ec00527810734579ee114d6d983e8e68f937b77be96?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a4b39a7719a6bfff1add3ec00527810734579ee114d6d983e8e68f937b77be96?s=96&d=mm&r=g","caption":"Joseph Sack"},"description":"Joe Sack is a Principal Consultant with SQLskills. He has worked as a SQL Server professional since 1997 and has supported and developed for SQL Server environments in financial services, IT consulting, manufacturing, retail and the real estate industry. Prior to joining SQLskills he worked at Microsoft as a Premier Field Engineer supporting very large enterprise customer environments. He was responsible for providing deep SQL Server advisory services, training, troubleshooting and ongoing solutions guidance. His areas of expertise include performance tuning, scalability, T-SQL development and high-availability. In 2006 Joe earned the \u201cMicrosoft Certified Master: SQL Server 2005\u201d certification and in 2008 he earned the \u201cMicrosoft Certified Master: SQL Server 2008\u201d certification. In 2009 he took over responsibility for the entire SQL Server Microsoft Certified Master program and held that post until 2011. He was given the SQL Server MVP award in 2013.","sameAs":["http:\/\/3.209.169.194\/blogs\/joe","https:\/\/twitter.com\/https:\/\/twitter.com\/josephsack"],"url":"https:\/\/www.sqlskills.com\/blogs\/joe\/author\/joe\/"}]}},"_links":{"self":[{"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/posts\/526","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/comments?post=526"}],"version-history":[{"count":0,"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/posts\/526\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/media?parent=526"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/categories?post=526"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.sqlskills.com\/blogs\/joe\/wp-json\/wp\/v2\/tags?post=526"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}