Category: Editorial

  • Have You Deployed an Availability Group?

    The last few weeks have been interesting, to put it mildly, with both more and less engagement online. I see more people holding video calls, both inside and outside of work, but I also see less engagement at SQLServerCentral, blogs, Slack, and some of the more common community tools we’ve had. I suspect this new way of working is strange, and it’s upset many of the rhythms that people have built over the years.

    In any case, one very important and common technology in the SQL Server platform is an Availability Group. This technology has been in the product since 2012, and unlike clustering, it’s relatively easy to set up. Not to say it’s easy, and you do need to develop some skills outside of T-SQL to understand how this works. This week I’m wondering how many of you might never have done this?

    Or maybe you’ve done it once or twice and forgotten about it.

    While we’re dealing with the various challenges of a pandemic, this is also a time where you might brush up on a few skills or learn new ones. Deploying, configuring, and testing an AG is something that is valuable to both DBAs and developers, and it’s a good skill to bring to your next interview. Every employer wants to know you understand HA/DR.

    We have a Stairway Series that can help you along with quite a few articles and blogs that people have written. There are various lab posts as well, including a good one from Ryan Adams, that can help you get started. If you don’t have equipment handy, you can build one in Azure for cheap, and even turn off the VMs when you’re not using them and spend just a few dollars a month on storage. That’s not much cost to build a valuable skill in your career.

    If you’ve built a lab, maybe you want to tackle something complex, like the scenarios that Allan Hirt writes about on his blog. If you’ve never done one, maybe try to build one, take notes and capture screenshots, and blog about it. In Word if you want to start a portfolio to send out with your resume, or on your live blog. It might be a good time to start a new blog.

    Focusing on a project like this can help shut out some of the noise in the world and engage you in a new way with your career. Hopefully you are doing well, and life is proceeding for you. If not, maybe tackle a project to take your mind away from things, and check out our daily coping tips in the newsletter.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher or iTunes.

  • Next Person Up

    I have a friend that has had a lot of success in technology. This person was a consultant when I met them, working hourly as I was. Over the last few decades, they have found new opportunities and joined a few large corporations. Eventually this person became a vice president, managing a division. It’s an impressive job, with a big salary, lots of travel and perks, and a lot of work.

    I had dinner with this person recently and they lamented all the hours and stress that comes from a high profile job. Working lots of hours, constantly in touch with others, and pushed to do more. In some sense, this person felt their situation wasn’t that  different than some IT jobs they’d had in the past, though with less pay but similar hours.

    I thought about that for myself. I’ve certainly worked 100 hour weeks while on salary. I’ve slept with a beeper on my chest while on call because I knew it would go off multiple times at night and I’d shut it off quickly without waking my wife. I’ve had the stress and pressure of management pushing and pushing.

    I’ve learned to say “no” quite well in my career. I’ve also learned to find another job when I felt abused. It’s worked well for me, and I think it’s the better way to handle things. That being said, I have never made a huge salary, certainly not anything close to what my friend makes. At the same time, I haven’t felt trapped in a long time, and when I did feel trapped in the past, it was my fault. Usually I learned to move on fairly quickly.

    The thing to remember is that you have to ensure your work and your compensation make sense for you. The trade has to feel fair, because many organizations don’t care if you don’t. I’ve not met many companies that would let me work half as much for half pay, even if I cut some benefits. They aren’t set up to adapt there, and they usually have options.

    For every great job, or at least any well paid job, there are often plenty of other people willing to do the job. For employers that don’t value individuals, either you deal with it, or they will remove you and pick someone else. The higher you go into the org chart, the more true this is, and often this is where the sociopathic tendencies of some executives take over.

    I wouldn’t judge anyone else for choosing their situation, but I do caution you to think about what jobs you take and make the conscious decision to do them. Don’t let yourself get caught into a bad situation, which can sometimes be easy to do, especially when a larger paycheck is dangled. Pick the work that suits you and your family and that you enjoy doing each day.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher or iTunes.

  • Cursors Without Performance Penalties

    One of the very common ways that many developers learn to write code is through loops. Almost every language as some sort of FOR and WHILE looping structure. Many people build these in T-SQL, which often creates performance issues as the engine inefficiently deals with the RBAR (row by agonizing row) processing.

    That seems like it might change in the next version of SQL Server. There is an interesting research paper from the SQL Server team that explains how they are investigating a technique that will make decode the inner workings of any code that is inside a cursor and apply the work efficiently to any table operations. If this actually turns out to be true, then cursors in T-SQL might be like cursors in PL/SQL, where this is the preferred way to write code.

    Suddenly cursors will have no real performance penalty. If that’s the case, I suspect we’ll start to see lots of new refactored code in many organizations. Loops make sense and are easy to read. I don’t know that I’d change any existing code, but I’d consider changing new code. Do you feel the same way? I wonder how many of you would prefer writing loop based code as opposed to complex single statement SELECTs.

    I’m not sure when we’ll actually change our habits, and you probably agree if you clicked the link. Today is April 1, or April Fool’s Day, so this whole thing is completely fabricated. Hopefully you smiled and this helps you cope with the day a little better.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher or iTunes.

  • When Will Privacy Matter?

    More and more people are becoming concerned about data privacy. There’s more advocacy, and this shows in more laws being passed around the world. Those are good steps forward, but those rules and restrictions are just the lowest bar of what I’d hope for. Regulation will always lag behind best practices and technology, and I’d hope that organizations look to do better.

    I expect more competition to crop up again in the future as the world grows, and I wonder if some of these businesses will start to take privacy seriously. Not because of regulation, but because it might provide some competitive advantage. I ran across a short piece that has a few ideas on how you might be more competitive in your niche if you take privacy seriously. These are ways that taking privacy seriously might make you more competitive.

    I think the big one for me is transparency. Showing customers that you are open and up front with data will pay off. Most of us know that our data is being collected. We know it’s being used for marketing. Many of us don’t love the idea, but we also do get used to the value we do get from services. A few people might balk, but once they realize everyone is collecting and using data, they’ll appreciate those that are more transparent.

    Certifications are nice, and having employees work on security can help, but for privacy, we need to help customers understand how and why we use data. We need to respect their data, and learn to remove it when a business relationship goes away. It can be tough for many data pros and business people to get rid of data, but it’s prudent, it reduces the strain on live systems, and it helps build trust with customers. Plus, if you are treating customers well and they appreciate it, they’ll come back over and over, which usually means you won’t ever need to trim much of their data.

    Steve Jones

    Listen to the podcast at Libsyn, Stitcher or iTunes.