Making parallelism waits actionable

Cross post with http://aka.ms/sqlserverteam During PASS we announced changes to how users will be able to make parallelism waits more actionable – specifically the “infamous” CXPACKET. This change effectively splits CXPACKET waits into an actionable wait (CXPACKET) and a negligible wait (CXCONSUMER). This change will be effective starting with upcoming SQL Server 2017 CU3 and…

0

New Showplan enhancements

Cross post with http://aka.ms/sqlserverteam If you follow this blog, you have seen that in the past few releases we have continuously included a number of diagnostic improvements to Showplan. You can read about some of them here. Looking at the actual execution plan is one of the most used performance troubleshooting techniques. Having information on…

0

Persisting statistics sampling rate

Cross post with http://aka.ms/sqlserverteam When SQL Server creates or updates statistics and a sampling rate is not manually specified, SQL Server calculates a default sampling rate. Depending on the real distribution of data in the underlying table, the default sampling rate may not accurately represent the data distribution and then cause degradation of query plan…


New in SSMS: Searching in Showplan

Cross post with http://aka.ms/sqlserverteam Have you ever analyzed a somewhat big plan? And while doing so did you ever wish you could search for something like table name, index name or column name? In SSMS 17.2, we are including the ability to search all these and more in graphical showplan. Let’s look at an example….


New in SSMS: Performance Dashboard built-in

Cross post with http://aka.ms/sqlserverteam Back in 2007, we released the Microsoft SQL Server 2005 Performance Dashboard Reports, which were designed to provide fast insight into performance issues from some newly created system views – DMFs (Dynamic Management Views). These were updated for SQL Server 2008 and later to SQL Server 2012, and while being very…


Correlating xEvents with DMVs

Cross post with http://aka.ms/sqlserverteam Since the inception of xEvents there has been the need to occasionally correlate data from xEvent collections and DMVs. Specifically, using the query_hash and query_plan_hash actions and correlate with DMVs such as sys.dm_exec_requests and sys.dm_exec_query_stats for example. The blog post on Correlating XE query_hash and query_plan_hash to sys.dm_exec_query_stats in order to…


SQL Server 2017 Showplan enhancements

Cross post with http://aka.ms/sqlserverteam In my previous post on Easy way to get statistics histogram programmatically, I referred to statistics as the building blocks on which the Query Optimizer reasons to compile a good enough plan to resolve queries. Knowing the status of distribution statistics over a given table and set of columns allows the…


New in SSMS: Query Performance Troubleshooting made easier!

Cross post with http://aka.ms/sqlserverteam The community already uses tools that can make it easier to read and analyze query plans (including SSMS), but these require significant expertise in understanding query processing and plans in order to be able to actually find and fix root causes. In the latest version of SSMS that released last week,…


Easy way to get statistics histogram programmatically

Cross post with http://aka.ms/sqlserverteam Statistics being the building blocks on which the Query Optimizer reasons to compile a good enough plan to resolve queries, it’s very common that anyone doing query performance troubleshooting needs to use DBCC SHOW_STATISTICS to understand how statistics are being used, and how accurately they represent data distribution. Let’s see how…


Getting more statistics information programmatically

Cross post with http://aka.ms/sqlserverteam As the building blocks which the Query Optimizer uses to know data distribution on tables, statistics are one of the key aspects in calculating a good enough plan to read data. So, when engaging in query performance troubleshooting, information about statistics is something you need to look at. Let’s say we need…

0