Compare Plans with SSMS 2016+
Microsoft has been making great strides with their database management platform lately. One really great improvement in their management tool, SQL Server Management Studio, is the “Compare Plans” feature. This allows visually comparing plans to…
File Growth Analysis via Default Trace
SQL Server continuously tracks certain critical events in the “default trace”. Among those events are the file growth events triggered when SQL Server automatically grows a database data or log file, or when a user…
CROSS APPLY as an alternative to UNPIVOT
This morning, I was listening to the inimitable SQL Server Radio podcast, with Matan Yungman and Guy Glantser. They mentioned how Itzik Ben-Gan had documented a great way to turn CROSS APPLY into an extensible…
Gaps between SQL Server Agent Jobs
For a busy server, with lots of SQL Server Agent Jobs, it can be difficult to determine the optimal time to perform maintenance with the least impact on other operations. The code below inspects the…
Obtaining machine names for failed logins
The SQL Server error log contains invaluable details about failed logins, but only if you enable login auditing. Once enabled, the error log will provide the details of logins that failed including the name of…
Same plans, markedly different performance!
We all know the importance of looking at execution plans when doing performance optimization. However, just because the plan looks good doesn’t necessarily indicate the best outcome. It’s always important to consider the user-experience, and…