Skip to content

T-SQL Tuesday #126 – Responding to COVID-19

This month’s #tsql2sday is hosted by the legendary Glenn Berry (b|t), and asks us about what we’ve been doing as a response to COVID-19. Madeira Data Solutions did quite a lot to chip in during these difficult times. Hopefully, it’s enough to make some kind of difference.

Due to the nature of this post’s content, it was published on the Madeira Data Solutions Blog. Check it out!

Read More »T-SQL Tuesday #126 – Responding to COVID-19

The new “metadata-only column changes” feature in SQL Server 2016 is useless!

You might have seen this blog post by Paul White: New Metadata-Only Column Changes in SQL Server 2016. It talks about how, when a table is compressed, you can change (i.e. increase) a column’s data type without having to create a new table and migrate the data into it, and without having to refactor all of the underlying data. But, not everything is rainbows and unicorns…

Read More »The new “metadata-only column changes” feature in SQL Server 2016 is useless!

Webinar – Development Lifecycle Basics for DBAs at the Data Weekender

The #DataWeekender is a free online conference scheduled for May 2nd, organized by the SQL Server community’s finest, as an online replacement for all the SQL Saturdays and other SQL Server conferences that were being canceled en masse due to the COVID-19 situation.

One of my submitted sessions was accepted:

Read More »Webinar – Development Lifecycle Basics for DBAs at the Data Weekender

T-SQL Tuesday #125 – Getting started with database unit testing

This month’s #tsql2sday is hosted by Hamish Watson (b|t) and this time touches on the extremely important topic of database unit testing. Its high importance and value should be a no-brainer. But it can be a very difficult topic, and the hardest thing about it, in my opinion, is knowing where to start. Hopefully, with this blog post, I can help you out with that.

Read More »T-SQL Tuesday #125 – Getting started with database unit testing

Surviving the COVID-19 Dystopia

These are surreal times we live in. The lethal COVID19 strain of the Corona virus is officially a Pandemic, and we quickly realized how fast such a thing can spread in this era of Globalization. With the virus pandemic also arrives a pandemic of blog posts and social network noise. Everyone’s writing and talking about this topic. So, I guess I must too.

Read More »Surviving the COVID-19 Dystopia

Is Azure SQL Analytics all you need for SQL Server Monitoring?

How well can you monitor Azure SQL Databases and Azure Managed Instances without any 3rd party tools? Is Azure SQL Analytics really good enough for the job? Can it be a decent competitor to powerhouses such as SentryOne, Red-Gate, Apex, Solarwinds and others? Can you use it as a cheap alternative in the cloud? Will I ever stop asking questions and get to the point already? Yes, of course I will! Just keep reading.

Read More »Is Azure SQL Analytics all you need for SQL Server Monitoring?

The Ultimate Compression Savings Estimation Script for an Entire Database

Data compression in SQL Server can definitely go a long way in saving storage space, as well as improve performance. It can especially be significant in very large databases. But in certain scenarios it can actually cause more harm than good, and it’s important to identify these scenarios.

I wrote this script which performs compression savings estimation checks for an ENTIRE database. Yeah there are plenty such scripts out there already, but there’s something in particular that they all seem to be missing, and that is the ability to actually generate the relevant remediation commands for you. After all, ain’t nobody got time for writing all those “ALTER TABLE/INDEX” commands themselves!

This is why I created the T-SQL script below. Check out the “messages” tab once the script completes execution, to find the resulting remediation commands. In addition, you will also get a query result with full details.

The script also performs various checks to determine whether PAGE or ROW compression type would be more beneficial (based on stuff such as range scans vs. updates percentage, difference in compression savings, etc.). It has several parameters at the top to control various thresholds and behaviors, so that you could fine tune it for your specific database.

Read More »The Ultimate Compression Savings Estimation Script for an Entire Database