TSQL Tuesday #194 Learning from mistakes

This is very similar to my server in the story below.

TSQL Tuesday info.

TSQL Tuesday is a blogging event that happens on the 2nd Tuesday of the month. This week’s host is Louis Davidson (https://drsql.link/2026/01/13/t-sql-tuesday-194-invitation-learning-from-mistakes/)

You can find all the key rules and information on hosting if you would like to host at this link. https://tsqltuesday.com/

The Request. 

I haven’t participated in a #TSQL Tuesday in quite some time.  I saw this topic and said, “That’s perfect!”  I love talking about Failure and mistakes!  I have a whole presentation about it, and I’m hoping to make a series of blog posts about it very soon.   

You do not learn from success in life; you learn from failure.  I hope you are making lots of mistakes so that you can learn! 

“This month, I am asking you to share about a mistake you made that touches on data in some way. Whatever the mistake was, maybe when you were a complete newbie, maybe just last week.”

I have lots to choose from, but I have been very nostalgic as of late, so I’ll go to one of my very first mistakes as a DBA. 

Some of you won’t even be able to go back this far in technology, but some of you will appreciate this.  It was Mid 1999. I was just learning about Databases and had only recently inherited a Sybase SQL Anywhere DB.  I had no formal training in SQL and just a general understanding of what the Database was and what it did.  I was a customer support manager and needed to figure out this new DB that we were using.  It quickly became evident that I preferred working on the DB items to the manager items.  My passion at the time was the technical side of things.  

It started with a simple request: The DB had a front-end called HEAT (later Goldmine CRM).  This system allowed the creation of simple forms and the entry of data about support tickets and customers.  We needed a backend process that would update the phone number whenever another field was updated.  I had just read something about Triggers… yeah, some of you know where this is going.  

So I wrote up a Trigger that updates the phone number field whenever another field is updated.  Pretty simple…..Unfortunately, the trigger updated every phone number in the table every time an agent updated a field in the system. I didn’t understand that each update was row-level, but the query was acting on the whole table, and I didn’t specify that it should only update the record that was changed.  As people started using the system, it would wait about a minute each time to update all the other records. Luckily, the data was still correct since it was just updating the same row, but it was using all the system resources.  Since this was the late 90’s, we didn’t have high-powered servers. The DB didn’t stand a chance of staying up and running correctly.  It took most of the afternoon for us to bring the server down, start it back up, and remove the trigger.  We weren’t sure what the issue was at first, but then I remembered the change I made. 

Luckily, it was a small company, and they were pretty used to the system going down throughout the day.  Uptime wasn’t as big a thing back then as it is now.  I learned some great lessons on this day, and they have continued to shape me as a DBA.   

Lessons Learned 

  1. Test everything!  I did not have a testing environment for this system. 
  2. Respect all Triggers. I’ve seen tons of triggers since this first issue, and I’ve questioned every one of them to understand whether they are fully needed and how they are used.  They are very powerful and very dangerous. 
  3. Enjoy the early days and the small companies. Suppose you find yourself in a DBA position in a small company and are just learning new things.  Enjoy that time! Use that time to really learn about some of these things that can go wrong.  I learned a ton of important lessons at this company. 
  4. Ask questions and seek out others. I was the lone DBA at the time and had no one else to bounce ideas off.  I didn’t find community till years later, and I’m sure it would have helped if I had a community back then.  

Connections 

In my previous post about my planning for the new year, I left something out.   

This wasn’t entirely intentional.  It was just a problem I didn’t know how to articulate. I still don’t have a firm answer, but it’s something I want to talk about more and more.    

Most people would say that I have a lot of Connections, a large network.  I’ve even had my kids tell me, “Dad, you know everyone”.   While many people know me in the community, or know of me. I don’t really feel like I’m connected to them.  One of my favorite Authors and speakers, Simon Sinek, has recently started talking about this much more. Here is a quick video describing some of the ideas. 

I want to make something very clear: I’m not advocating for moving back to more in-office work.  I just started a fully remote position! What I am advocating for is connections.  Human connections that mean something to you. Now more than ever, we can go through a full day without any actual human intervention. We can pretty much do everything sitting behind our phones or computers and never really talk to people.  Even if we do talk to a friend, it might just be in a chat channel or something else.  This is concerning.  

I can’t change the whole world;

I can only change myself.  

I can change the events I manage and attend. 

I can influence the people I meet.  

My goal is to make real connections. 

We have seen a decline in convention attendance over the last year; people are questioning the value of conferences and events, given that they can do everything through AI or learn online.  Personally, the value of an event to me has never been the learning. It’s always been the connections I’ve made.  I know that I can learn without an event/conference.   I cannot easily make connections outside my company without an event/conference.  

This is my initiative for the year.  My next post will be all about how to make this happen for you with tips and tricks.  If you are interested in helping with this initiative, please reach out, and I’ll suggest ways we can work together. 

Human connection should be one of the most important things in our lives.  

Wrapping up 2025 and looking forward!

It is that time of year when the world reflects on the past and starts making plans for the future. I personally am not a big fan of “Resolutions”. I prefer to look at goals for the next quarter, identify what I want to improve, and then focus on just those items. I intend to make this a quarterly post going forward. For now, I’ll recap the last year.

Below are some key accomplishments from last year:

  • I spoke internationally.
    • I was able to speak at PG Conf India in Hyderabad. It was a great experience, and I plan to do it again soon. It was even better since many of my team members were able to attend.
    • Personal fitness.
      • Failed my first 50-mile Gravel ride. (Moab Gravel Fondo)
      • Succeeded at my first 50-mile Gravel ride. (Rebecca’s Private Idaho)
      • Total of 5k miles on bike for the year.
    • Travelled a LOT.
      • New Countries indeed: Canada, Singapore, Japan (Tokyo).
      • New States: Hawaii, Virginia.
      • Several International trips, multiple regional trips, and vacations with family.
    • Led a team of DBAs and DBEs
      Very proud of how well the team works independently. Enabled the team to react quickly to any situation. More proactive changes were implemented to improve system stability.
    • Upgrade of PG towards the end of the year.
    • Started a new job
      Very excited about starting a new job right at the end of the year. Going to be the most challenging position for me yet!

    Some key goals I have for the next quarter:

    • Write every day. Post a blog once a week.
      This is critical to my new position and something I’ve wanted to do in the past, but haven’t had the time to focus on.
    • Set up the Testing environment.
      I typically have a production/Test/Dev environment to play with that includes lots of real-world data. When I want to test something new in PG or some other database. I now need to create something that does this. I have plenty of scripts and data to use for this; I just need to get it set up. This project is in process, and you will probably hear more about it soon.
    • Plan dates for three events in Utah.
      I have an SQL Saturday, a Kids Code Camp, and a Big Mountain Data event to plan. Need to lock in dates.
    • Figure out how to work differently.
      As mentioned in a previous blog post, I am transitioning into a very different role and need to focus my attention on a very different way of seeing the world.
    • Prepare my new presentations.
      I have several new presentations I’m working on and will be prepping all the content for them in the next few weeks.
    • Restart the user groups here in Utah.
      We have some user groups that need to resume operations, and I will be focusing on those events with other members of the community.
    • Manage Sponsorships.
      I have 3 events this year that I’m managing sponsorships for, and I need to make sure they are all ready to go.

    This is not everything I have planned for the quarter, but it’s a good start to keep things moving along. Hopefully, I can post an update in a few months and let you all know how these things are going.

    Hope to see you all at a future event in 2026!

    Here are some photos that I hold dear from my 2025 Adventures.

    Presenting in India!

    My Daily Driver. Most of my commuting to work.

    Just ride!

    Solemn moment at Arlington National Cemetery

    The Jewel in Singapore is well worth a visit. Amazing place! I would love to go back.

    Tokyo was a fantastic city.