Assumption Sandwich

Today we went live with a product we’ve been working on for A Long Time, in which a team of five has put in A Lot Of Work.

During the walk-through with the customer, loading their initial data onto the production system, we had error after error when trying to insert a particular kind of record. The stored procedures were complaining about a foreign key constraint, but on a table where we’d never seen the error before.

The walk-through had to turn into a demo out of necessity, by switching to the test environment where everything worked. Obviously this was a data problem.

During the postmortem, we confirmed that the initial records we thought we needed, had been inserted. So now it came to looking at the difference in data between test and production. Shout-out to SQL Toolbelt from Red Gate for making our lives easier.

You know what’s coming. It turns out that the process for inserting a particular kind of record, which we only see for brand new records in the system (think first-client scenario), relied on the existence of a lookup value that did not appear in the production database.

In other words, for the last year we’ve been testing a product based on a false assumption.

The good news is, the customer was signed, and the problem was identified reasonably quickly. The other good news is that we had a test environment on which to fall back.

An assumption sandwich tastes a lot like humble pie.

Too quiet

This blog has been neglected for the past year. Ironically, I’ve been developing a fairly complex SQL Server database for a new company, which is why I haven’t spared a thought this way.

Tonight was the last Calgary PASS Chapter meet-up for 2014. Mohit K. Gupta, a Premier Field Engineer with Microsoft GBS Canada, presented a session on In-Memory OLTP, one of the very cool new features of SQL Server 2014.

I’ve been given the opportunity to speak at the January meet-up, and I think I’m going to present on Transaction Log internals. Mohit touched briefly on how In-Memory OLTP writes to the log, which coincides with my desire to get back into that side of the database engine.

Stay tuned. I have a series of blog posts planned to go with this deep dive.

SQL PASS Summit 2014

I’ve been privileged to attend the 2014 Summit in Seattle this year, which has been a great experience thus far.

More importantly, I’ve been speaking to the members of the SQL Server family, getting to know many of them, and reconnecting with people I met during the training I’ve been on.

This is a wonderful reminder of why I love working with SQL Server. It’s not only the product itself, but the community around it, that makes it special.

I have also been made an officer of the Calgary PASS Chapter, where I’m currently looking after the website.

Thank you for making me feel welcome.