Invoke-Sqlcmd variable parameter
Using PowerShell Invoke-Sqlcmd with Variable parameter
24 Feb 2020

I recently needed to use PowerShell to call a T-SQL script using Invoke-Sqlcmd with the -Variable parameter. In my case, I wanted to specify the locations for backup files and where to restore the data and log files. Rather than add the conditions into the SQL script, I wanted to make the SQL script as generic as possible, and use SQLCMD variables for the different scenarios. In this blog, I’ll show how to use the array sub-expression operator and “splatting” […]

Collecting business-critical transaction throughput for analyzing using Power BI
14 Jan 2020

In my blog post Using Power BI to analyze Windows Perfmon data for SQL Server, I introduced a concept that I call “business-critical transactions” (BCT) to understand the overall throughput of your SQL Server applications. When I worked on the SQL Server team, the SQL Performance Engineering team used a set of customer applications with server-side replay scripts that would get executed before development teams checked in their code. If a development team’s build showed significant regression in performance, they could […]

analyze Windows Perfmon
Using Power BI to analyze Windows Perfmon data for SQL Server
13 Jan 2020

In this second blog post for my series, Power BI for the SQL Server DBA, I’m going to show how you can take Windows Perfmon (Performance Monitor) data for SQL Server and analyze it with Power BI. You can find the source code, Power BI reports, and other related files on my GitHub site at Here is a summary of what’s coming up in the series. It is subject to change based on feedback and reader demand: Capturing performance […]