Press "Enter" to skip to content

Curated SQL Posts

Skipping Incompatible Objects in Bacpac Restoration

Erik Ejlskov Jensen shares some good news:

If you have ever tried to export a SQL Server database to a .bacpac file with sqlpackage, you have most likely run into the dreaded SQL71627 error, complaining about a Windows user or login. I ran into it myself a few years ago, and the only workaround was to drop the offending users from the database (or a copy of it) before running the export.

With sqlpackage 170.6.28-preview, that workaround is no longer needed. The Export action has two new properties that let you remove objects that are not compatible with Azure SQL Database while exporting, and write a report of what was removed.

Click through for a demonstration.

Leave a Comment

What’s the Time Again?

Umachandar Jayachandran checks a watch:

Affected locations in British Columbia, Alberta, and Manitoba will not turn their clocks back at 02:00 local time on November 1, 2026. They will remain at UTC−07:00, UTC−06:00, and UTC−05:00, respectively. 

Microsoft’s interim guidance for British Columbia, Alberta, and Manitoba describes the new Windows time zones and temporary workarounds. 

SQL Server on Windows requires the applicable Windows update—not a separate SQL Server product update. For SQL Server on Linux, Azure SQL Database, and Azure SQL Managed Instance, the following guidance applies when the new regional time zones are not yet available in your deployment. 

Click through if you have anything in that latter bucket.

Leave a Comment

Disabling FileStream and FileTable on a SQL Server Instance

Stephane Haby turns off a feature:

A customer recently asked me to disable FileTable/FileStream on their instance because the databases no longer use it, and to ensure that this is indeed the case.
The aim is to migrate to a new architecture without FileTable/FileStream in a second time.

The tricky bit is that the relevant database is also inside of an Availability Group. Click through for the process.

Leave a Comment

Comparing JSONB to hstore in Postgres

Hubert Lubaczewski re-creates an issue:

Some time ago I read this blogpost.

They wrote about logging changes to table using a trigger, but one thing that caught my attention was:

Storing only the changed columns made the log five times smaller and the trigger slower.

Figured I can try it myself…

Unfortunately they didn’t provide schema of table, nor test updates. So, let’s make test case:

Click through for the demo, and how a change from JSONB to hstore for changed data improved performance a fair bit.

Leave a Comment

Rebuilding pgbuild

Dave Page digs into a repo:

My job at pgEdge allows me a significant amount of time to work on pgAdmin, a project I started nearly 30 years ago. The previous blog and this followup is an update on some of the recent work I’ve been doing.

In my last post I wrote about moving pgAdmin’s build farm from Jenkins to GitHub Actions, and I promised a follow-up about pgbuild, which is the least famous repository in the pgAdmin organisation and quietly one of the most important. If you have installed pgAdmin on Windows in the last year or so, or on macOS since the move to GitHub Actions, you ran code that came from the buildfarm.

Click through to learn more about this base repository, as well as one significant problem they fixed.

Leave a Comment

Shape: A Tool for Data Generation

Jonathan Stewart has a new open-source tool:

Wait, what? Didn’t you already build one of these?

I built a data generator, yes. But when I realized what profiling the data could open up, the ideas just kept coming. “With this data I could do this.” Then something else. Then something else.

The generator was only half the picture. Before I could make data behave the way I needed, I had to understand how it behaved in the first place.

Your schema tells you column names and types. It doesn’t tell you that December might bring in nearly three times February’s orders, that a small group of customers might place most of them, or that a field’s null rate might jump between two captures.

Click through for the intro article and check out the GitHub repo as well as a playground where you can try it in your browser.

Leave a Comment

The Structure of Vector Indexes

Hugo Kornelis digs into another index variant:

Support for the vector data type, vector indexes, and vector search, was added as a preview feature in SQL Server 2025 and in Azure SQL Database. In the latter, the feature has then been developed further, and moved out of preview.

There have been significant changes between the original implementation, that is still available in SQL Server 2025 (as of CU9), and the current (mid October 2026) implementation in Azure SQL Database. These differences affect the available features, the syntax to use for some features, and the internals. Especially the latter is important for those who already created vector indexes with the original implementation on Azure SQL Database. Because the new version uses a different structure, these users are recommended to migrate from that earlier version to the new version. Click this link for more information.

In this post, I will look at both the original implementation, as still available in SQL Server 2025, and at the current implementation in Azure SQL Database, pointing out similarities and differences where needed.

Click through for a theoretical explanation of when vector operations are relevant as well as how SQL Server and Azure SQL DB actually store this information. Hugo may apologize for how long the post is, but on his behalf, I highly recommend giving it a read.

Leave a Comment