Press "Enter" to skip to content

Author: Kevin Feasel

What’s New in SQL Database for Fabric

Idris Motiwala makes some announcements:

The new Migration Assistant for SQL databases simplify moving SQL Server and Azure SQL workloads into Fabric. Designed for SQL developers, it imports schema via DACPACs, identifies compatibility issues, and provides clear, actionable guidance before migration. Built-in assessment and data copy workflows help teams move from evaluation to cutover with less manual effort, preserving existing SQL skills while accelerating time to value on Fabric’s unified analytics platform.  Ready to simplify your SQL migration journey? We will begin rolling this out in the coming weeks, and it will soon be accessible through the Fabric portal.

Click through for more things that are currently in place, including several items that are now GA.

Comments closed

Group Managed Service Accounts and Failover Cluster Instances

Deepthi Goguri covers the real value of gMSA accounts:

Failover Cluster Instance (FCI) is a SQL Server high-availability solution where multiple servers share the same storage. If the active node fails, SQL Server automatically fails over to another node with minimal downtime.

You need to follow all the steps mentioned in the first blog post, which you can find here.

From there, Deepthi covers how to change the SQL Server service account to use a gMSA if you have FCI or other high availability setups for SQL Server.

Comments closed

What’s New in OneLake

Josh Caplan provides an update:

With shortcuts and mirroring in OneLake, you get zero-copy, zero-ETL capabilities to connect your multi-cloud data estate. Whether your data sits in Azure, AWS, Google Cloud, or Oracle, on-premises, or across platforms like SAP, Dataverse, Snowflake, and Azure Databricks, you can connect it to OneLake without data movement or duplication. No more sprawling ETL pipelines. No more out-of-date copies. No more data silos.

Today, we’re expanding mirroring to now include SharePoint lists (Preview) and adding mirroring via shortcuts for Azure Monitor and Dremio (Preview). We are also releasing mirroring for Oracle and SAP Datasphere into general availability. Beyond these core mirroring capabilities, we are now introducing extended capabilities in mirroring designed to help you operationalize mirrored sources at scale. These capabilities include Change Data Feed (CDF) and the ability to create views on top of mirrored data, starting with Snowflake and will be offered as a paid option.

Click through for more of what came out of FabCon.

Comments closed

Creating a Power BI Semantic Model Online

Gilbert Quevauvilliers doesn’t need Power BI Desktop:

It has been in the service for quite a while so I thought I would blog about it in terms of how you can create a power BI semantic model simply using the web interface. This means you no longer need Power BI desktop, or a Windows PC to get going.

This is quite a significant change because at times you need a lot of resources on your Windows PC or you’re working on a Mac and could not do this previously.

So, I will give an overview below on how you can create the semantic model just by using your browser.

Click through to see how.

Comments closed

Materialized Lake Views now GA in Microsoft Fabric

Balaji Sankaran makes an announcement:

Since introducing MLVs (Preview) at Build 2025, data engineers have used them to replace hand-built ETL pipelines with a few declarative Spark SQL statements, and their feedback directly shaped this release.

This update closes the most important gaps since reaching preview and makes MLVs production-ready at scale. With multi-schedule support, broader incremental refresh, PySpark authoring, in-place updates, and stronger data quality controls, teams can now build, run, and evolve medallion pipelines with far less operational overhead.

Click through to see what’s changed since the preview.

Comments closed

Idempotence in SQL Scripts

Jared Westover lays out some solid advice:

Imagine you’ve spent weeks preparing a software release for production, only to deploy it late one night and receive an error that the table or column already exists. This occurs in production environments, even when you use migration-based deployment methods such as DbUp. How can you ensure or at least reduce the likelihood of an error like this in the future?

At a prior job, we needed to write idempotent scripts because the deploy-to-QA process would run every script for the sprint every time someone checked in a new script. This prevented a few classes of release error, and I’ve carried that practice with me to future engagements.

SQL Server 2016 then gave us several helpers like CREATE OR ALTER for stored procedures and views, or DROP IF EXISTS for views and tables. It’s not a complete set of everything I’d like the functionality to do, but it’s a lot more convenient than what we had to do in prior versions.

Comments closed

Configuring a New Windows Device via Chocolatey

Reitse Eskens writes a script:

Last month, my company got me a new laptop. I have very little choice in which one I get, and I have to reinstall a lot of software. So, what to do next?

Click through for an example of such an installation script. Having one or more Chocolatey scripts does help, especially for fairly stable corporate machines. I’ve found it to be moderately useful for home devices, where I tend to cycle through software a bit more frequently. But it does make the process of rebuilding a Windows-based machine less painful.

On the Linux side, this is more built-in. For anything via repo managers (such as apt or yum), you can list your installed packages and turn that into a script. It’s a similar story for snap or flatpak packages, though maybe a little bit less conveneint. For AppImage files or deb/rpm files you installed separately from the repo, it’s a bit more of a mixed bag.

Comments closed

Tracking the Last Sequence Value in SQL Server

Greg Low shares some queries and some history:

Sequences allow us to create a schema-bound object that is not associated with any specific table.

For example, if I have a Sales.HotelBookings table, a Sales.FlightBookings table, and a Sales.VehicleBookings table, I might want to have a common BookingID used as the key for each table. If more than the BookingID was involved, you could argue that there is a normalization problem with the tables, but we’ll leave that discussion for another day.

Another reason I like sequences is that they make it much easier to override the auto-generated value, without the need for code like SET IDENTITY_INSERT that we need with IDENTITY columns. This is particularly powerful if you ever need to do this across linked servers, as you’ll quickly find out that it doesn’t work.

Sequences let me avoid these types of issues: they perform identically to IDENTITY columns, and they also give me more control over the cache for available values.

Click through for some queries to find the latest value of a sequence, as well as how this functionality has changed over the years. One thing that I would point out is that, on busy systems, you might find that the value has changed between the time you run this query and the time you use the results.

Comments closed

Finding Missing Data-Driven Subscriptions after an SSRS Upgrade

Sandra Delany has misplaced some subscriptions:

After migrating SSRS from SQL 2016 Enterprise Edition to SSRS SQL 2022 Standard Edition Data-driven subscriptions disappeared from within the SSRS web portal. However, I could see the subscriptions in the ReportServer.dbo.Subscriptions table.

SSRS was migrated from an EC2 instance where SQL and SSRS, etc. was installed by a DBA to an EC2 instance that was built using a template where all components were installed. When this was originally built out, we asked that they test. They said they did some testing, but they did not look at subscriptions in the portal nor did they create a subscription.

Click through to see how Sandra was able to troubleshoot and resolve the issue. But then how that led to the next issue, and how Sandra resolved that. And so on. This is what I refer to as an IT shaggy dog story. I don’t mean it in a negative sense for Sandra (or any author) but more along the lines of, “I want to solve problem X, which should take about 5-10 minutes. As I start to solve problem X, I now need to solve problem Y to solve X. But as I start to solve Y, now I need to fix Z. Oh, and then here come problems A, B, and C to make my life a pain. Three days later, I finally got X done.” It seems like the life of your average IT professional is one shaggy dog story after another.

Comments closed

Binary Search for Chronological Records in SQL Server

Andy Brownsword performs several probes:

Specifically we’ll use a binary search approach to narrow the search range. We abuse the correlation between the clustering key and timestamp to zero in on the records, using the key for navigation, and the timestamp to guide us.

We’ll start with the first and last records as boundaries, followed by checking the timestamp at the mid-point. Depending on whether the timestamp is before or after our target point in time, the appropriate boundary is moved. This halves the key space, and the search repeats until we’ve narrowed the range sufficiently to scan a very small portion of records.

It’s a neat idea, though do watch for Andy’s warning at the end.

Comments closed