Press "Enter" to skip to content

Curated SQL Posts

Introducing Dr. Lakehouse

Nikola Ilic has a new tool:

When I was young, I used to watch Dr House. If you’ve never seen it: a brilliant, grumpy doctor and his team get the cases nobody else can solve, and the patients almost never tell the truth. “Everybody lies”, says House, so he stops listening to what the patients say and looks at the evidence instead. And, of course, it’s never lupus.

Lakehouse tables are not that different. Your pipelines are green, your notebooks finish without errors, and every table tells you it’s perfectly fine. Everybody lies! And in Fabric, it’s never lupus – it’s (almost) always small files

There was one episode where they played on the “It’s lupis!” meme and it really looked like it was lupus. But even then, it wasn’t lupus.

Leave a Comment

Remaining Relevant in an LLM World

Erik Darling shares some advice:

Erik Darling here with Darling Data. And in today’s video, we are not going to talk directly about SQL Server. We are going to talk about how to stay relevant in the age of AI, right? All the AI stuff going on.

Even, I mean, I think that’s, it’s obviously a stupid term. We all know that they’re LLMs, right? We all know it’s not artificial intelligence. It’s just random word generators. We just happen to, you know, be pretty, pretty decent at coding sometimes and whatnot.

Erik’s “I’m an old man because I use an RSS feed reader on my phone.” I feel seen.

I fully agree with Erik’s point about AI-generated blog posts as a waste of time. I get frustrated when I get part of the way through an article, have something click in my head, paste a chunk of the post into Pangram, and see that yeah, this is LLM-generated. Right around that time, I typically decide not to post it here (except in very specific circumstances).

Leave a Comment

The Proliferation of AI-Generated Bug Reports for Postgres

Cristophe Pettis stands athwart History:

Lately, the PostgreSQL’s bug-report mailing list has been receiving a large number of AI-generated bug reports. Often, these come in flurries of 10-15 bugs, each from the same email address.

These bug reports are of, shall we say, highly variable quality.

Click through for a breakdown of several of these bug reports and the waste of time they embody. I think Cristophe makes a great point: the problem isn’t the language model itself. The problem is the human who clicks a few buttons, automates firing off e-mails, and says “I’m doing my part!”

Leave a Comment

Changes in Microsoft’s Data Governance Strategy

Victoria Holt lays out some news:

AI is forcing a rethink of data governance. We are moving away from governance being something that sits alongside the data estate towards it becoming part of how data is managed and used.

The problems are familiar. Governance becomes fragmented across platforms and teams, controls become difficult to manage consistently, and manual processes struggle as the data estate grows. None of this comes from bad intentions. Data estates simply grow faster than the governance around them.

Putting governance closer to the data makes sense, particularly when that data is increasingly being used by AI as well as people. It makes it easier to use. An AI agent needs to know whether it can use the data, whether it is sensitive, what it means and whether it can be trusted. That makes good governance more important, not less.

Wolfgang Strasser has some additional thoughts:

Instead of separate Purview Data governance consumption meters, Microsoft states that governance is included in Fabric capacity. Actual cost implications still requires analysis. This is one of the things I am worrying about. For me, foundational governance features must be part of the platform and not be directly built using capacity units.

The cost is a question. The other question is, will Purview matter after this? Purview was a really neat idea, but I’ve always considered its cost prohibitive for most organizations. And, in one year, it’s going to be less capable but probably not less expensive.

Leave a Comment

Hugo Kornelis In Memoriam

Hugo Kornelis has passed away:

Unfortunately, this will be the final post on my father’s blog. Yesterday, Hugo passed away peacefully, on November 3rd at 9:45 AM. He really wanted to prepare this final blog himself, but time caught up to him. I cannot write as eloquently as he could, but I will try my best to share his final two weeks here. I will write openly about what was going on with Hugo, as that is how he would have written it. I want to repeat the earlier warning my father used to add to all posts about his leukemia, especially these final moments may be hard to read. 

It’s sad that we lost such a great man in the SQL Server world. I am glad that Hugo was able to complete his masterpiece before then, and that it will continue beyond him.

Hugo presented for our SQL Server user group (the Triangle Area SQL Server Users Group) twice, in 2024. One talk was on the internals of a hash spill, and the other was about debugging without a debugger.

Thank you for all you ever did, Hugo.

Leave a Comment

Four Years of sp_CheckSecurity

Jeff Iannucci reflects on a tool:

In recent weeks I’ve been conducting a bit more of our own internal SQL Server Security Checks than usual for our clients. This shouldn’t be a surprise, what with all the stories about “rouge AI” breaches and with Microsoft releasing A LOT more security fixes in their recent Windows and SQL Server updates.

In all these Security Checks we use our sp_CheckSecurity stored procedure to collect a big chunk of the findings. I wrote the original version of this tool a while back, and out of curiosity I wanted to see how long ago that was. It turns out I created the first working version of the tool four years ago this week. Wow, four years! And the things that I have found using that tool could, as my late stepfather might say, make your eyes water.

Inspired by my colleague Andy Kelly’s post introducing the sp_CheckActivity tool that he’s been working on in various forms for years, I thought I would share a bit about the history and intention of sp_CheckSecurity in a similar manner.

Read on for its origin story. Between what Jeff has put together and what Andreas Wolter has created, there are two really good procedures for evaluating the security posture of a given SQL Server instance.

Leave a Comment

Building a Python API atop SQL Server Data

Hristo Hristov builds an API:

SQL Server and its cloud cousin Azure SQL are among the most popular relational database management systems. Data hosted in SQL Server sometimes need be securely exposed to outside services and applications. How to build an application programming interface (API) layer that securely exposes data stored in SQL Server to downstream services or consumers?

The example here uses FastAPI in Python, which is a good choice for a simple API layer. Regardless of the exact tooling or programming language you use, there’s a lot to proper API design, documentation, versioning, security, and optimization.

Leave a Comment

Optimizing DAX with AI

Marco Russo and Alberto Ferrari speed up operations:

The debate over whether AI will replace human work is heating up. However, our vision is different: AI is not a replacement; it is a powerful tool, and when AI and humans work together on a problem, the outcome is better than when either works on their own.

Optimizing DAX is a fascinating task. However, in the process of optimizing DAX, you need to pay attention to several details:

  • The new formula needs to be equivalent to the old one; this requires extensive testing.
  • The shape of the query being executed matters: a formula may be better than another in a specific test, but not in others.
  • The data distribution matters: a database with 100K customers and 100M transactions requires a different optimization compared to one with 10K customers and 10B transactions.

You will often get about as much out of using generative AI tools as you are willing to put in. This article does a good job of showing that.

Leave a Comment

Thoughts on Blog Relevance

I’m at PASS Summit this week, so it’s a good thing Jeff Iannucci teed up a topic for me. Jeff, of course, has the honor of putting together the full round-up, but this topic has drawn quite a bit of interest and I get to link to a lot of people.

Andy Brownsword has thoughts on who your reader is, and how that has shifted over the years.

Niko Neugebauer answers in the negative but adds a few caveats.

Mike Walsh says they are, so long as you’re willing to take the time and effort.

Reitse Eskens says yes, especially for the writer.

Marlon Ribunal says yes, and that AI assistance can make the experience better.

Brent Ozar thinks about how relevance has shifted and brings up a good point about managers: blogs provide a signal of your quality to people, including the people who might hire you.

Chad Callihan asks, what’s in it for you?

Mala Mahadevan focuses on a critical aspect: originality. Not necessarily in topic, but in how you present information and what questions you’re asking.

Rob Farley sees writing as more relevant than reading.

Lee Markum uses illicit cat technology to brainwash people into reading his blog. And also has some good thoughts on the relative cost of blogging versus other skill-sharing activities.

Andy Yun takes a trip down memory lane.

Andy Levy digs into history as well, and notes where human experiences can augment (or supplant) technical documentation.

In short, this might amaze you, but most bloggers think that blogging is still relevant.

Leave a Comment

The Continuing Relevance of Blogs

Aaron Bertrand lays out an argument:

I read fewer technical blog posts than I used to. This is partly because I find information differently, and partly because I’m 30 years into this. My reading habits say more about where I am in my career than about the value of blogging.

I write fewer technical blog posts than I used to, too. This is mostly a function of time and juggling work and life priorities, rather than a lack of ideas or perceived value in sharing them.

I still value blogs as places to learn, share ideas, and express opinions.

Given my entire schtick of finding and linking to interesting blog posts, I am naturally inclined to agree with Aaron’s points.

Leave a Comment