Press "Enter" to skip to content

Author: Kevin Feasel

Blogging for Programmers

Louis Davidson has wrapped up a series of videos:

Today I finished up my first 24 videos in my Blogging for Programmers series of posts. I started out calling it vlogmas, but Tipmas definitely fits a lot better.

You can access the blogs about them here or go directly to the Youtube playlist here.
It was a lot of fun to do this series, and more will be coming in the new year at a much slower pace. I hope you enjoyed the series and/or learned something. The blogs each have a succinct version of the list of tips, so if you don’t have 5 – 10 minutes to watch a video, the main points are listed there.

If you’re interested in blogging, Louis has a lot of great tips across the 24 videos.

Leave a Comment

Vectors and Columnstore Indexes

Niko Neugebauer continues a series on columnstore indexes:

In this post we are going to test one of the more promising technologies in SQL Server-based offerings – Vector data types and its relationship with the Columnstore Indexes. The tests I am running right now are executed against SQL Server 2025 RTM, the latest and greatest SQL Server version available to customers. Given that some parts of the SQL Server 2025 were delivered as a Preview Features, the current situation might change in the future for SQL Server 2025 (at least, Half-precision float support should evolve into the fully supported feature, in my opinion). At very least, I do expect reasonably fast evolution of the space on Azure SQL Database & Azure SQL Managed Instance.

This seems like more pain than joy, which is the unfortunate reality of v1 features in SQL Server anymore.

Leave a Comment

A Look at Fabric IQ

Teo Lachev shares some thoughts on Fabric IQ:

At Ignite in November, 2025, Microsoft introduced Fabric IQ. I noted to go beyond the marketing hype and check if Fabric IQ makes any sense. The next thing I know, around the holidays I’m talking to an enterprise strategy manager from an airline company and McKinsey consultant about ontologies.

Ontology – A branch of philosophy, ontology is the study of being that investigates the nature of existence, the features all entities have in common, and how they are divided into basic categories of being. In computer science and AI, ontology refers to a set of concepts and categories in a subject area or domain that shows their properties and the relations between them.

So, what better way to spend the holidays than to play with new shaky software?

Read on for Teo’s standard format of the good, the bad, and the ugly.

Leave a Comment

Investigating Hash Match Spills to tempdb

Hugo Kornelis digs in when you’re overdrawn at the memory bank:

Finding data in tempdb is hard. Not when the data is in objects we created ourselves, such as temporary tables or variables. They are stored in the internal system tables and reflected in various system dynamic management views. But that changes for internal objects. They are only used by the internal logic of, in this case, the Hash Match operator. There is no advantage to storing them in the system tables. When I explored the internals of tables used by Table SpoolIndex Spool, and Window Spool, I found out that Microsoft has indeed not bothered to put anything in the system tables for such internal objects. The Hash Match operator is not different in this regard.

But I still found a way to locate this information.

Hugo explains how, though it does include some contrivances to make life a lot easier. I always love this sort of spelunking deep into the bowels of how things work, and Hugo is definitely on the top shelf when it comes to this kind of work.

Leave a Comment

Thoughts on Power BI Pro/PPU to Fabric

Teo Lachev shares some advice:

Performance is difficult to translate because Power BI Pro/PPU run in a shared capacity, meaning compute resources (v‑cores) are pooled across many tenants and dynamically allocated, whereas Fabric capacities are dedicated, meaning that Microsoft grants specific resources expressed as number of cores and memory. Therefore, Fabric performance is predicable while Pro/PPU might not be, although I’m yet to hear from client complaining about unpredictable performance.

Read on for some high-level thoughts on performance and cost.

Leave a Comment

Recent Updates to Apache Kafka

Jaisen Mathai lays out some changes:

Hey, fellow Apache Kafka® developers! Let’s look at the important updates across Confluent’s client ecosystem, from the core librdkafka to the wrappers for PythonGo.NET, and JavaScript. The last couple of months have been focused on laying down some solid architectural foundations and adding key quality-of-life features.

I’m curious to see what changes with IBM purchasing Confluent.

Leave a Comment

An Overview of the FabricTools Powershell Module

Kamil Nowinski provides an overview of the FabricTools Powershell module:

Managing Microsoft Fabric at scale quickly becomes painful if you rely only on the UI. Workspaces, capacities, and tenant-level settings all need repeatable, scriptable management. FabricTools is a community-driven PowerShell module that fills this gap by adding high‑level cmdlets focused on Microsoft Fabric and Power BI administration.​

In this post, you will learn what FabricTools is, how to install it from the PowerShell Gallery, and how to list all Fabric workspaces and export them to a CSV file for further analysis.

I was going to say “It looks a lot like DBATools” and then I realized that several of the contributors are DBATools mainstays, so that makes sense.

Leave a Comment

Known Issues in SQL Server 2025

Brent Ozar checks out the list:

Whenever a brand spankin’ new version of any software comes out, there are bugs, and SQL Server is no exception. This has led to a mentality where folks don’t wanna install a new version of SQL Server until the first couple of Cumulative Updates come out, hopefully fixing the first big round of bugs.

So… are there bugs this time around?

Read on to see the list. Though I will note that the SQL authentication logins being slower isn’t a bug. It’s a consequence of improving security via PBKDF2 and cranking up the number of iterations. On net, this is a good thing because it makes brute-force password attacks orders of magnitude more difficult while having negligible impact on legitimate users. In the post Brent links, Vlad Drumea has a comment talking about going from sub-1ms to 150ms per login attempt in his tests, and the neat thing about PBKDF2 is that it scales linerally with number of iterations, so as hardware gets faster and faster, you can increase the number of iterations necessary and maintain a fairly standard range of login times.

Leave a Comment

Query Estimates and Tooling in Oracle

David Fitzjarrell lays out a comparison:

Depending upon which tool is used query plans can change. There are two provided by Oracle, SQL*Plus and SQL Developer, and how they treat bind variables can alter execution plans. Let’s look into that and see what may be the cause.

SQL*Plus has been around for quite a while and is a very mature product. SQL Developer also has a long history, not quire as long as SQL*Plus but is well beyond the early phases of development. Both are excellent tools, returning reliable and repeatable results, but SQL Developer may take some liberties SQL*Plus doesn’t, especially where bind variables are involved. SQL*Plus and PL/SQL allow the developer to define data types for bind variables, and will pass those values through unchanged. SQL Developer, however, appears to pass such values using a character data type regardless whether the value is a string or numeric, allowing Oracle to ‘decide’ how to optimize the query. This can produce sometimes ‘unexplained’ results with estimates and execution plans.

Read on for an example in which the choice of tool can add a considerable percentage to the expected length of the query. The tricky part here is that this doesn’t mean the query actually takes longer, but that expectations will differ.

Leave a Comment