Press "Enter" to skip to content

Day: February 3, 2026

25 Years of SQL Server Central

Steve Jones has a retrospective:

The oldest article we have on the site is Tame Those Strings! Part 4 – Numeric Conversions, by me. It’s dated 2001-04-18, though I think that’s a date we picked when we converted all the content from one database to another. The founders agreed sometime during Feb 2001 to jointly run SQL Server Central. Since we each owned the copyright of our articles from another site, we migrated several articles to build up our content library. This was back when AndyBrian, and I all had full-time jobs and managed the site during breaks, nights, and weekends.

That was 25 years ago.

I think there are a lot of DBAs who cut their teeth on SQL Server with the help of SSC. I know I was one of them, having been a SQL Server Central e-mail subscriber for a very long time. Not 25 years, but 15+, at least.

It was one of the best pieces of advice I received from a poker buddy who was a database architect: first thing in the morning, spend about 20 minutes reading articles. It’s time that nobody else will come in to bother you, and you can focus on learning and self-growth without needing to follow the ebbs and flows of the day.

That blended quite well with some good advice from Sean McCown to set aside an hour a day for learning and experimenting.

Leave a Comment

Row Own-Goals

Hugo Kornelis didn’t come up with quite as good of a title:

In part 1 of this mini-series, I explained what a rowgoal is and how it works to optimize a query with a TOP or FETCH expression. Part 2 then showed a few less obvious other cases where the optimizer might introduce rowgoals. In all cases so far, those rowgoals were beneficial. They helped the optimizer come up with the best execution plan for the number of rows requested.

Click through for the video.

Leave a Comment

Data Series Colors in Microsoft Fabric

Michal Bar shows off a new capability:

A frequent request we receive from dashboard authors is the ability to have greater control over color settings.

Until now, color assignments in real-time dashboards were largely automatic. While this worked for basic scenarios, it often fell short in operational and reporting use cases where color isn’t decoration—it’s meaning. Data Series Colors is a new capability that gives authors direct control over how colors are applied to their visuals.

Read on to see how it works for real-time dashboards.

Leave a Comment

Thoughts on SELECT *

Louis Davidson defends a slighted bit of syntax:

I was about to walk out the door to take a flight, when my phone rang. Our major software system we had just released last week was returning weird data. FirstName and LastName was being reversed. I missed my flight because someone wrote SELECT * instead of SELECT FirstName, LastName and a table structure was reorganized.

Ok, the story was a fabrication, but I wanted to start out with a story that could resonate with the reader. In this post, I want to say a few things about the use of SELECT * and I wanted to make sure it was clear that I am not encouraging more use of SELECT *. Not at all.

I agree with Louis that SELECT * is fine for ad hoc querying. It’s not so great for application code because of the story Louis tells above, but if you’re just checking the contents of a table, whatever. The habit I’d much rather drill into somebody’s head is always have TOP in an ad hoc query. Condition yourself to write SELECT TOP(100) before you start a query. Or have your auto-completion tool of choice (e.g., SQL Prompt) do it for you.

As far as SELECT * or SELECT 1 in EXISTS clauses goes, I used to be in Louis’s camp, though I had a former manager who explained her preference for the latter: if you standardize on SELECT 1 in those clauses, it makes it a lot easier to find inappropriate uses of SELECT * in application code.

Leave a Comment