Dynamic data sources in PowerBI Desktop

Abstract PowerBI Desktop is a data analytics and presentation tool. Defining data sets is very easy and usually involves creating connection string to the source data and defining objects to pull data from. Alternatively, for SQL databases we can write custom SQL...

Generate realistic test data

As data professionals, we often need test data, whether for functional testing, to satisfy business logic criteria or for non-functional, to satisfy performance requirements. We must also not store any sensitive or personal information in non-production systems and...

SQL Server Performance Dashboard using PowerBI (download)

This project has become so popular that I decided to give it its own home: SQLWATCH.IO. Thank you #SQLFamily! Introduction I often help improve the performance of a SQL Server or an application. Performance metrics in SQL Server are exposed via Dynamic Management...

Dear Microsoft, please fix the Windows Taskbar

I recently got an ultra wide screen and realised that the Windows taskbar is a bit of waste. Let me explain. On an ultra wide screen, the task bar will be very likely just empty most of the time, taking up the precious Y axis of the screen: Since there are many more...

When to use negative identity

The identity value in relational databases is a field that increases automatically. It is often used to create surrogate primary keys. Surrogate keys Surrogate keys are meaningless and are only used to uniquely identify the row, not the data itself. For example,...

How I use dbatools to automate SQL Server installs

I lot of you have asked me to expand on the automated SQL Server installation I mentioned in my previous article: Why I use VMware Workstation instead of Hyper-V on my laptop dbatools is a free PowerShell module with over 500 SQL Server best practice, administration,...

Use CONTEXT_INFO to avoid firing triggers

DML Triggers are commonly used to apply some business rules to the data in the table. The most common implementation would be updating the date_updated column automatically whenever the data in the table changes. For the illustration, this can be done with a following...

Rapid SQL Server test instances with Docker and Azure

As a DBA, developer, and more importantly the creator of SQLWATCH.IO, I need the ability to rapidly deploy and test different SQL Server configurations or test different upgrade variations from one version of SQLWATCH to another. This is quite laborious,...

How to intelligently auto-cycle ERRORLOG using T-SQL

In my earlier post, I described different ways to read very large SQL Server Log (ERRORLOG) – 5GB – to be exact. However, this was a reaction to something that has already happened. In this post, I will show you how to prevent this from happening at...