Patching Challenges

In my career, I’ve had to manage many production database instances. In fact, there was a time when two of us were patching hundreds of instances (600?) when MS released patches. That wasn’t too often back then, unlike the every other month(ish) schedule that we have with 2017/2019 and the Cumulative Updates.

My process was often to test patches on QA/Test servers and then start to roll out the patches to production. We didn’t quite follow what Brent Ozar recommends, in that we often patched development servers later. We didn’t control those, and unless production was patched, we couldn’t get developers to patch their systems.

We didn’t patch DR servers first, but that’s a good idea. It’s one I think makes a lot of sense. We did patch secondaries first, ensuring that if there were issues here, we wouldn’t impact production, and these days with Availability Groups, hitting the secondary replicas, especially read-only ones, is a good idea.

The big thing for me wasn’t so much the type of servers, but in having a series of rings to roll out the patches in groups. We used automated processes (no one wants to click next-next-next) and while we might patch a lot of servers, we never wanted to patch them all. We typically had 3 rings. Ring 1 was test servers, and ring 2 was most of production. Ring 3 was any production servers that got an exemption from initial patching. There were times when some process was important and couldn’t be interrupted or a client needed a few more weeks to test. We’d let them delay a month, but not longer.

I think it’s important to have a strategy, and as Brent notes, also a protocol for how you handle things. I’ve often depended on our normal backup processes, especially in large environments, and the patches tended to stop the SQL services, so I don’t know how important it is to stop client apps, but think about it.

One note about backing out changes is that containers make this a lot easier. If you move to production containers (linux, HA challenges, features missing, etc.) you can swap out an updated container with a new (or old) patch level as needed. There are caveats here, and certainly I’d start implementing this in a dev area first to understand the implications, but I expect over time containers will make patch deployment and rollback much easier.

Steve Jones

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

Posted in Editorial | Tagged | Comments Off on Patching Challenges

Daily Coping 30 Jun 2021

I started to add a daily coping tip to the SQLServerCentral newsletter and to the Community Circle, which is helping me deal with the issues in the world. I’m adding my responses for each day here. All my coping tips are under this tag. 

Today’s tip is to make a list of joys in your life over the last 30 days.

A simple list, things that have gone well in 30 days.

  1. All my kids were together for (Mother’s and) Father’s days.
  2. An exciting and fun time coaching a tournament in a hotel
  3. Another fun time coaching, and traveling out of state, to coach
  4. Vacation in a new place, Key West.
  5. Bucket list item, drive US1 from Miami to Key West
  6. Submission accepted for an event
  7. New lawnmower Winking smile
  8. Put a hitch on my wife’s car, which involved some learning, a new tool, and some time with one son
  9. Fixed my sprinkler system with my son, which was leaking.
  10. New master bathroom after renovation
  11. Got together 3 times with friends to share some time together.
  12. A few date nights with my wife.
  13. Maintenance on 3 vehicles complete.
  14. Moved a trip that would have really jammed me up for time and created stress.

It’s been a good month

Posted in Blog | Tagged , , | 2 Comments

Daily Coping 29 Jun 2021

I started to add a daily coping tip to the SQLServerCentral newsletter and to the Community Circle, which is helping me deal with the issues in the world. I’m adding my responses for each day here. All my coping tips are under this tag. 

Today’s tip is to notice how positive emotions help you improve your mood.

Over the years I’ve found that the way I view a situation often affects how I feel about it. I get upset, or angry, or sometimes don’t think about anything other than how the situation affects anyone other than me.

Often when I view things differently, I feel differently.

I had planned on going to a user group meeting recently. It was the first in person one, and I was excited. I wanted to see who showed up, and how the organizers ran the event. I let myself get a late start from home and was hungry. I stopped to grab a sandwich, trying to avoid fast food, and ended up waiting a little long. The place was busy, and they were working hard to manage a number of online orders as well as handle the lunch crowd.

I stood there, stressing a bit. All my cushion to get to the meeting was disappearing. I finally got my sandwich, jumped in the car, and race over. I get there to discover that the meeting is next month. I was so excited, I mistook July for June.

I could have been upset, angry, etc. Instead, I laughed at myself a bit and was amused that my excitement for a user group caused the issue. I looked at it as a positive thing. I’m ready for live meetings, and that’s good.

Posted in Blog | Tagged , , | 2 Comments

Where Does NoSQL work well?

It seems not too long ago that NoSQL was the hottest thing on the market. MongoDB was leading the charge, with tremendous growth as a company and many developers looking to adopt their platform. I remember years ago going to visit a number of customers in New York City, where Mongo had just grown their offices. Every company was considering migrating their RDBMS to MongoDB, trying to calculate the cost and return.

Now, I certainly hear about companies adopting database that are in the NoSQL family, but not always (or even often) to replace a RDBMS. Instead, it’s for a new application or alongside an existing RDBMS. While there are applications that are well suited for a non-RDBMS data store, there are plenty that perform worse on those platforms. This might be because the platform doesn’t handle their workload, or because the developers aren’t writing good code, but I know I’m not worried that RDBMS usage is going away, or even down.

I ran across an article earlier this year that wonders if NoSQL is a good choice for your application. The article covers a bit of the types of these stores and how they work. It’s a basic look, but it makes sense and it addresses the benefits of NoSQL, like scaling. It also notes there are issues, which is something to think about. Not that I see a lot of developers thinking about the issues. Often they think the can code around them.

The piece notes that for some problems, these databases work great. However, for a side project or a simple site, a relational store is likely better. NoSQL classes of databases are suited to scale well, but with quite a few tradeoffs.

Are there places you’d use NoSQL? I’m curious. If your organization has adopted these stores, or rejected them, it would be good to share some information.

Steve Jones

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

Posted in Editorial | Tagged | Comments Off on Where Does NoSQL work well?