Database Development in Visual Studio

A lot of database administrators and developers like to use the SQL Server Management Studio to make changes to the database schema directly. As a production DBA, I can definitely say that there are situations where this is acceptable and even desired, however,...

SQL Agent Jobs Timeline with dbatools.io (download)

This is now part of dbatools.io and has more features! Go get the latest version and watch this space as there are more graphs to come! Concept Continuing from my previous post: SQL Server Performance Dashboard Using PowerBI, another important element of performance...

Move data to Azure Archive Storage using PowerShell

Concept You may have come across a term multi-tiered storage. This means, that the storage solution has multiple arrays, fast and expensive and slow but cheap. Files accessed very frequently are stored on very fast SSD disks, files accessed less frequently are stored...

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...