Press "Enter" to skip to content

Curated SQL Posts

Compressing Images in R

Yihui Xie announces a new package:

Last month, @bastistician opened an issue on the litedown repo pointing out that knitr has a hook_pngquant() function for compressing PNG plots from code chunks, but litedown lacks such a feature. He included a reasonable workaround—calling system2("pngquant", ...) with litedown::get_context("plot_files") in a chunk at the end of the vignette. It shrank his vignette from 80 KB to 54 KB, which is a 33% reduction. Not bad.

The catch, of course, is that it requires pngquant to be installed on the system. For R users, installing a system binary is more friction than it sounds: it is brew install pngquant on macOS, a separate package manager invocation on Linux, and hunting down a standalone executable on Windows. If you maintain a package that others will build, you are now asking all of them to do this—for every machine they use. By contrast, install.packages("tinyimg") works the same way everywhere, which is the kind of simplicity that makes a tool actually get used.

This is why I created tinyimg.

Read on for more details about how tinyimg works, how well it compresses, and how it integrates with litedown.

Leave a Comment

Power BI Version Control via Azure DevOps

Gilbert Quevauvilliers works with the on-again, off-again CI/CD solution Microsoft has to offer:

In this blog post is a way set up version control for Power BI semantic models (and reports) using the PBIP (Power BI Project) format, Azure DevOps (Azure Repos), and VS Code.

This approach treats your semantic model as readable text files (JSON/TMDL), enabling proper Git diffing, branching, merging, and collaboration—something binary .pbix files don’t support well.

Click through for the process.

Leave a Comment

Apache Airflow Jobs in Fabric Data Factory

Mark Kromer makes an announcement:

The world of data integration is rapidly evolving, and staying up to date with the latest technologies is crucial for organizations seeking to make the most of their data assets. Available now are the newest innovations in Fabric Data Factory pipelines and Apache Airflow job orchestration, designed to empower data engineers, architects, and analytics professionals with greater efficiency, flexibility, and scalability.

Read on to see what’s newly available, including some preview functionality.

Leave a Comment

Auditing SQL Agent Jobs for a Migration

Andy Brownsword takes a peek:

Most SQL Server environments have more jobs, schedules, and hidden complexities than you realise. It’s only when you arrive at a migration and peek under the hood that the scale is clear.

Here we’ll pull out details from msdb to give a clear snapshot of what you’ll actually be dealing with. If you don’t understand the effort upfront, the migration will expose it.

The thrust of Andy’s post covers migration, but I think it’s a good query to run simply to get a better understanding of all of the jobs in your environment.

Leave a Comment

New Permissions in SQL Server 2025

Andreas Wolter digs into some new permissions:

This article provides a brief overview of the new permissions introduced with SQL Server 2025 and the few adjustments to existing ones.

Overall, the changes are subtle – which is not surprising. The past couple of years have focused heavily on SQL Database in Fabric, Entra ID integration, and incremental improvements rather than major changes to the core permission model.

All newly introduced permissions are tied to new functionality. The underlying permission model itself remains unchanged since its last significant evolution in SQL Server 2022.

Even so, click through to see what’s new and what granting EXECUTE across the board can net you in SQL Server 2025.

Leave a Comment

Personalizing the Linux Command Line

Thomas Williams wraps up a series:

For an even better prompt, I’m a fan of “Oh My Posh” https://ohmyposh.dev/. Once installed, my prompt looks like below, shown in a Python Git repository directory – with the Oh My Posh prompt displaying my username, the directory name, the Git branch and files needing commit, the current Python version (because I’m in a Python project directory with uv), and lastly the time it took to complete the previous command and whether the command was successful:

Click through for the remainder of Thomas’s advice. My main thing about personalizing the Linux command line is just making sure I get that .bashrc file everywhere I can, as it’s neat to have a bunch of useful commands and shortcuts, but then you get dumped on a new shell without your .bashrc and you’re struggling even harder.

Leave a Comment

Capacity Overage in Microsoft Fabric

Pankaj Arora has a new ‘give us money’ lever:

Capacity overage, is a new opt‑in capability in Microsoft Fabric designed to help organizations keep their workloads running—even during unexpected compute spikes. Now available in preview, this feature allows for automatic billing for excess capacity usage, based on limits you set, instead of throttling operations, ensuring smoother experiences when workloads exceed the limits of your purchased capacity.

I will say that I think it’s reasonable to have the two options of throttling (you went over by 30%, so for a stretch of time you’ll be capped until you get back under the limit) or simply paying. The controversy around this was mostly in the fact that, if you shut off and restart your Fabric capacity, you’d automatically be charged for the overages you created. To that end, providing more options on how to work off that overage debt is useful.

Leave a Comment

The Importance of the Transaction Log in SQL Server

Deb Melkin lays out the case:

Lately, I’ve been feeling like we’re not paying as much attention to transaction logs as we should. In fact, I’ve been saying there needs to be a flashing neon sign that says “Transaction Logs are more important than ever.” I thought I’d take a minute and explain why.

Click through for some important functionality that makes heavy use of the transaction log, Deb also has a call to action on how to keep them going.

Leave a Comment

Reviewing the Performance Monitoring Lite Dashboard

Erik Darling has another tutorial video:

In this video, I delve into the exciting world of SQL Server monitoring tools, focusing on the Lite version of my free open-source tool, which is a lightweight and secure solution for monitoring performance across multiple servers. I walk through how to download and set up the Lite edition, highlighting its unique features such as no server-side installations or databases, making it an ideal choice for environments like Azure SQL Database where agent jobs are used. The video covers the tool’s 20 collectors that run with minimal permissions, ensuring data collection is both efficient and secure. I also showcase the various tabs within the dashboard, including weight [sic] stats, query trends, CPU and memory usage graphs, blocking information, and performance monitor counters, all designed to provide a comprehensive view of SQL Server health without any heavy lifting on the server side.

I think my preference is still for the Full version (especially given that the price tag on both versions is zero) in most situations, but the Lite version does cover some neat bits of functionality.

Leave a Comment