January 10, 2019 by Kenneth Fisher
Last July (yes, it’s taken me 5+ months to finally finish this) Steve Jones (b/t) suggested that it might be helpful if those of us that work in the IT/database field shared four random days out of our lives. This is the last of mine.
The first three are:
I worked from home today. This was nice for a couple of reasons. First of all, it was a pretty miserable day out (by Texas standards) and I didn’t have to do an hour+ drive in the cold and rain. On top of that, it’s the day after New Years and I’ve only worked one day out of the last week and a half. I almost literally dragged myself to my desk.
I’d spent a couple of hours Monday clearing out my email so very little left for today. A few extra pieces of junk mail from the 1st but that’s about it.
I watched Bert Wagner’s (b/t) latest video blog (vlog). Part three of his Join Operators series Hash Match Join Internals in SQL Server. It was quite good and I recommend his stuff in general.
Finish up a training course
Still easing myself back into work I decided to finish up a Cloud Academy course on AWS Fundimentals. It’s something I started quite a while back but I finished up the last couple of labs over my vacation and just had a piece of a session and the final quiz to go.
Upgrade status meetings
We’ve got an ongoing project to upgrade all of our SQL Servers to at least SQL 2016. I had a couple of meetings to go over the status on a few groups of SDLC stacks I’ve been working on. So far so good, but we are dealing with some odd performance issues.
I’m working from home so lunch was grab some leftovers, heat them up, and bring them back to my desk. (Steak and a sweet potato so I wasn’t exactly depriving myself.)
This afternoon was my shift at watching the incoming work queue. Basically, it’s my job to make sure that the requests that are coming in were put into the correct form, had the correct approvals, and at least most of the information required to get the work done. To give you an idea why we do this, today we had one request come in for fixing a server build that SQL is going to be installed on. Not only does my team not do the server builds but we don’t even do the SQL installs. Basically, I just had to find the correct team and transfer the request over to them.
Remember how I mentioned we are having some weird performance issues? While we are figuring out what’s going on the users have found that their year-end processes will actually finish if we clear all the connections from the instance before they start. It’s a bit of a kludge, but for a short-term fix to meet a deadline we’ll go with it.
I get a lot of these over time. What permission is required to do this or that task, what permissions do we allow for this type of group on this type of instance (I manage our security standards document), what permissions does this id have, why can’t this user perform this other task, etc. They range anywhere from 5 minutes to hours depending on the complexity and to be fair it’s one of my favorite tasks.
Meet about the 2016 performance issues
Yea, this is a big deal. We still haven’t figured it out but after another hour or so discussing it we have a few more leads. It doesn’t help that these are multi-terabyte databases with multi-page queries.
More performance issues
And just to close out the day another fun little performance issue. In this case, a report that goes from 15 minutes to 20 hours for the first few days of each month. I’m still digging in but it doesn’t help that the stored procedure calls a table-valued function that calls multiple user-defined functions, more table-valued functions, a couple of views, has liberal use of NOLOCK, and almost 20 LEFT OUTER JOINs. We’ll get there .. but it didn’t happen today.
Last but not least I enter my time for the day and leave my desk.