Having a Little Fun at SQL Server Central

When we started the site, I had never met most of the other co-founders (we went from 7 to 3 inside of a few years). A few knew each other, but Brian, Andy, and I had only communicated through emails and phone calls. We ran the company remotely from Denver, Orlando, and Jacksonville. In fact, I met Brian for first time when he came to Denver for the 2002 PASS Summit (moved from 2001). I met Andy later that year at the Seattle Summit in November 2002. That, coincidentally, was my first meeting with Simon Galbraith, founder of Redgate Software.

Over the years, we’ve tried to enjoy running an online community in different ways. We wanted this to be a profitable endeavor, but one where we could have some fun. We did this in few different ways. One was with some off-topic articles. Early on, Andy wrote a piece asking Is Steve Jones Really Steve Jones? I still enjoy reading that one today.

Once I was running the site full-time, and stuck with the Question of the Day and editorial responsibilities, I added a category for humor that I used on holidays and other random times. April 1 was a fun day (and still is), with me trying to write plausible, but completely untrue articles about database topics. I’m still thrilled that my joke from Apr 1, 2005, SQL Server on Linux, finally came true.

We had a Lighter Side category for editorials that didn’t fit anywhere else, which I and others have used to try and remind ourselves that not everything is about databases and it’s also not the most important things in our lives. We have had a lot of articles on career topics and soft skills, especially editorials, as the guest editors and I know these are some of the most important skills to develop for career growth.

Thankfully, Redgate has supported some of my fun, as they agreed to pay for and publish a series of crosswords and cartoons over the years.

Perhaps the most fun I’ve had over the years was running the SQL Server Central parties at the annual PASS Summit. In exchange for promoting the event and getting people to register with our code, we got a small payment for each person. This started in 2002, and we decided not to take this money as profit, but rather to have fun with it. Each year we’d get a few thousand dollars from referrals, so we tried to be creative. We gave away books and shirts the first year, with a line stretching out the door during the welcome reception. In Florida in 2003 or 2004, we decided to have a video game party with XBOX consoles. We not only purchased consoles, but also TVs, and gave everything away at the end of the night to random people.

Somehow, I stumbled on the idea of a Casino party one year and contracted with a firm in Seattle. We ran those parties for years and even charged admission for people who hadn’t used our code. I would guess how many people would come and then go shopping at Best Buy when I arrived in Seattle, spending a few more thousand dollars on random prizes to give away. I’m sure we lost money in a few of those years, but it was all for fun.

Maybe one of the most memorable things I did was for TechEd in 2004 or 2005. We wanted to brand ourselves and try to raise awareness of the site. Since I was in charge, I ordered 3 different styles of Hawaiian shirts for each of us, with a SQLServerCentral logo and name embroidered on each, intending to wear a different one each day. Andy and Brian were good sports, going along with me most of the time. There was a day Brian refused to wear my choice as it was a little too out there for him.

However, I did meet Euan Garden (RIP) for the first time there and he loved our chili pepper shirts. I arranged for a shirt to be made and shipped to him and I loved seeing him wearing it at a events over the next few years. I also got inspired to do an interview series, which I really enjoyed.

Thinking back on the history of this business, I’m both amazed by how it changed my life, and I can smile at so many good memories. Hopefully, you feel the same way.

Steve Jones

Listen to the podcast at Libsyn, Spotify, or iTunes.

Note, podcasts are only available for a limited time online.

Posted in Editorial | Tagged | Leave a comment

A New Word: on tenderhooks

on tenderhooks – adj. feeling the primal satisfaction of being needed by someone, which makes you feel that much more rooted to the world, even if the roots belong to someone else.

I feel this all the time with my wife. She needs me, maybe as much as I need her. She tells me, and I both appreciate it and feel lots of pressure to be the person she needs.

It’s an interesting conundrum to feel good that someone wants you around, but also feel some tension about it. It does help me stay rooted, and reminds me that not only have a made a difference in the world to someone, but I continue to do so.

From the Dictionary of Obscure Sorrows

Posted in Blog | Tagged , | Leave a comment

Testing is Becoming More Important

Many of us know that testing our code is important. The adoption of unit testing by many software application developers as a normal course of business has dramatically improved the quality of applications. Mobile software, especially, has benefited from the requirement for most software to include, and constantly run, a suite of unit tests.

For database software, I find relatively few organizations formally test their database code. A few people have adopted tSQLt or the Microsoft Unit Testing Framework, but most don’t bother. In fact, many queries that are embedded in application code, or built by ORMs, aren’t tested beyond a developer looking at the results from their own (limited set of) test data. That often doesn’t catch errors until someone in production runs their application against a larger set of data.

What might be worse is that refactoring those queries might produce different results that aren’t tested against regressions.

In this new age of AI-assisted coding, testing is becoming more important. Grant wrote an interesting post on LinkedIn that discusses your job changing in the age of AI. You need to have more testing that ensures you validate code that the AI produces, which is going to be more important as the amount of code grows. AI will produce lots more code, and potentially, lots more poor code. We will need to ensure that the generated code  has some validation that the results are what we expect.

Unit tests help here, and while I know these can be tedious to write and maintain, this is a great use for AI assistance. Generating unit tests, with default data based on data in current tables, is something AI agents can do well. They can also use these to verify functionality as code is generated and refactored. Of course, humans still need to be in the loop as there are plenty of reports where AI Agents write tests that return success without actually testing code. This is something humans have done as well.

You need to validate the tests, and ensure your AI uses those tests to validate its work. Those tests can also be used by humans if they write code.

AI is an amazing tool, but like an intelligent, over-eager, junior developer, it needs clear communication and strong guidance.

And a little review of its work.

Steve Jones

Listen to the podcast at Libsyn, Spotify, or iTunes.

Note, podcasts are only available for a limited time online.

Posted in Editorial | Tagged , , | Leave a comment

Identity Columns Can’t Be Updated: #SQLNewBlogger

I’m not sure I knew identity column values could not be updated. I ran into this while trying to solve a problem recently and had to check the error I was getting. This post shows what happened.

Another post for me that is simple and hopefully serves as an example for people trying to get blogging as #SQLNewBloggers.

Setup

A quick setup for you. I need to go to the store soon, so hence, here is my sample table (created and filled by SQL Prompt).

CREATE TABLE Vodka
( id INT NOT NULL IDENTITY(1,1) PRIMARY KEY,
  brandname VARCHAR(100) NOT NULL
  , rating TINYINT
);

INSERT INTO dbo.Vodka
(
    brandname,
    rating
)
VALUES
('Grey Goose', 9),
('Belvedere', 8),
('Absolut', 7),
('Smirnoff', 6),
('Stolichnaya', 8),
('Ketel One', 9),
('Tito''s', 8),
('Ciroc', 7),
('Skyy', 6),
('Russian Standard', 7););

I then tried this:

2026-02_0157

OK, what about IDENTITY_INSERT. I know this isn’t an insert, but I thought this “unlocked” the identity column. It doesn’t work.

2026-02_0158

I searched on MS Learn and found the UPDATE statement documentation. In here, you can see what it says below. I can’t do this.

2026-02_0159

The error reference provides no info, but apparently this isn’t a thing.

What’s amazing to me is that in 30 years either I’ve never done this, or I’ve rarely encountered it and forgotten. Either is possible.

In any case, if I want to change this, I likely need to “re-insert” the row with a new value (either take the seed or use identity_insert) and then delete the old one.

Crazy.

SQL New Blogger

I was testing something else and ran across this. I decided it’s a great showcase of me learning something and giving a workaround. I’ll show the workaround in another post, which is actually about the thing I was doing.

Of course, that post needs to change.

This took about 10 minutes to write.

Posted in Blog | Tagged , , | 2 Comments