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.

Continue reading “The Ultimate Compression Savings Estimation Script for an Entire Database”

New open source project: Send calendar invites from within SQL Server

Looking for a way to send calendar event invitations from within SQL Server?

Did you try that one hack where you use sp_send_dbmail to generate an ics attachment file, and then found that it’s still not being identified as a calendar event in the e-mail program?

Then fret no more, my friends, because I’ve been there, and out of sheer desperation of not being able to find a properly working solution, I’ve decided to build one myself. And now it’s available for your wide consumption as an open source project!

Continue reading “New open source project: Send calendar invites from within SQL Server”

Import GitHub Issues from Trello Cards using Powershell

I know this has little to do with SQL Server (and therefore, not quite like me to post this), but it’s a nifty little script in Powershell which I’ve been working on recently, and I believe other people may find use for it as well (someone, somewhere, maybe?).

This script basically takes a Trello JSON file (created using their Export feature), connects to a GitHub repository, and creates one GitHub issue per each Trello card. Any labels are copied over, any checklists in the Trello card will be added into the issue body as checklists, and any attachments in the Trello card will be added into the issue body as an unordered list of links. Finally, at the bottom of the issue’s body there would be a link back to the original Trello card.

Continue reading “Import GitHub Issues from Trello Cards using Powershell”

Using SUBSTRING based on line number instead of character offset

Suppose we’re running one or more dynamic SQL commands in SQL Server, and we’re getting an error from somewhere within it.

But, to make things interesting, let’s suppose that we’re running a large number of such dynamic SQL commands within a loop, each constructed a bit differently, and we’re finding it difficult to pinpoint which of the dynamic commands is causing the error, and which SQL statement it is exactly.

Could we, perhaps, print the relevant code section based on the error line reported in the CATCH block? Continue reading Using SUBSTRING based on line number instead of character offset