Author: way0utwest

  • Creating a Distribution List in SQL Multi Script

    SQL Multi Script is a lesser known tool from Redgate Software that is designed to easily allow you to run scripts against many server instances with one click of a button. It’s similar to a Central Management Server, but it returns results a little cleaner, and has a few extra features that make things run better. I have a number of customers using this to deploy to many instances, both for database changes and instance config updates.

    The main way to get setup is with a distribution list. This is a list of the instances and database you want to connect to. This post will show how to make one.

    The Default List

    By default, you have one list, and you can add instances to this. As you can see below, I’ve added a few instance and databases to my list, which is shown on the right side of the main application window.

    2021-07-12 08_31_03-SQL Multi Script - New Project_

    If I click the “Configure” button, I get a dialog that lets me manage these lists. It is shown below, with a mover in the middle to add or remove databases to the current list. In the upper right is a “New” button to add a list.

    2021-07-12 08_32_15-Configure Database Distribution Lists

    Let’s click that. This gives me a simple dialog to add a name. I’ll choose “InstanceMasters” for all the master databases on instances. This is a handy list when I want to add a login to all instances or make a config change.

    2021-07-12 08_33_35-Create New Database Distribution List

    Once I click “Create” I get back to the mover. This is where I select databases.

    2021-07-12 08_36_32-Configure Database Distribution Lists

    I can expand the instance on the left, and see all the databases. One note, the system databases are listed last, so scroll down. I’ll click “Add” in the middle to add this one.

    2021-07-12 08_36_49-Configure Database Distribution Lists

    I have a second instance on my machine, so let’s pick that. I’ll click the “Add a SQL Server Not Listed” at the bottom.

    2021-07-12 08_36_59-Configure Database Distribution Lists

    I get a connection dialog to specify the name and credentials.

    2021-07-12 08_37_29-Add a SQL Server Not Listed

    Once I complete this, I go back to the mover and I see my second instance. I’ll add that master database as well.

    2021-07-12 08_40_00-Configure Database Distribution Lists

    If I click OK, I now have my distribution list selected and set up. Any scripts I execute will go against these two master databases. If I needed to exclude one of the databases for a script, I could uncheck it, and in the image above, I can change distribution lists with the drop down below the Delete button.

    That’s a quick look at lists in SQL Multi Script. The tool lets me run multiple scripts against various databases, execute an ad hoc script, and get all the results with the instance/database name as well.

    It’s a very handy tool that not enough people use, so if you have the Toolbelt, give it a try. If down, download a SQL Multi Script evaluation today and see how this can help you in your daily work.

  • Enterprise Software

    “I’ll go in the store; it’s built for that.”

    That is a quote from Jessica Kerr, who is a developer. She has a great blog on software development, called The Enterprise Eats Software. It starts with a poor experience for an online order for Lowe’s. Interestingly enough, as I read this, I was starting a home renovation project, but I didn’t have a bad experience, I had a great one. Read Jessica’s blog, and see what you think.

    For my short story, we had contracted for a bathroom project, but we forgot to get some of the fixtures. The contractor came a day early to talk about things, and we realized we needed a shower diverter valve and trim kit. We looked for the trim, which is what was important to my wife, and found a valve to fit it. While the contractor called two local supply houses, I looked at Amazon. The suppliers didn’t have the valve, but Amazon did, noting delivery in two days. I ordered it around 10:30 am that day. It arrived around 11:00 am the next day, a day early and before the existing shower had been demoed.

    That was fantastic. It made me think why would I want to use any service that wasn’t that amazing and quick. I got an email at my desk with a picture, telling me the package had been delivered and showed me where it was. I walked it upstairs thinking that calling multiple suppliers and then driving around town would have been a pain,  not to mention a time sink.

    I don’t often find a lot of large companies do a good job with their software integrating into real world operations. A few do, and apart from Amazon, I’ll say build.com was incredible for us to get a tub and Wayfair got us a vanity very quickly (too quickly, actually). Both have built great systems that not only took the order but updated us and handled the complexities of shipping large items. Not to mention they both had an incredible selection available to peruse easily and quickly. Just finding a place to look at something like a tub in person is incredibly difficult.

    Apart from the retail challenges, just the general experience from many enterprises leaves something to be desired. They just aren’t good at being agile, flexible, and maybe more importantly, constantly improving. They get caught up in some of the hassles, like bureaucracy, power struggles, too many rules, etc. They don’t know how to operate in a flexible, agile, constant change environment.

    I’m reading Project to Product, which in many ways sees a lot of the same problems. Software is disconnected from the goals of the business, and too often there are individuals and processes that get in the way of becoming more effective across teams and partners. BMW is one of the success stories here, and I still think they’re behind Tesla in their industry. They might catch up, and if they do, it’s because they are learning to be a better software company, not a better manufacturer.

    Steve Jones

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

  • Daily Coping 12 Jul 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 look for something positive in a difficult situation.

    My life is mostly great, and I feel strange complaining or getting upset about things. In general, my difficult situations are merely uncomfortable or annoying, and I try hard to remember that.

    Difficulties are relative, and for me, I had a tough time with a bunch of things breaking at home. During a busy time, with lots of other commitments, I needed to stop and rebuild a hub on a trailer. It gets used every day, and I had a choice between rebuilding the exploded one, or adding some supports and bracing to a 2nd trailer. Neither was quick.

    I was a little annoyed when I went out to see this, but then stopped to revisit how I looked at the situation. No one did this on purpose, it’s the way things go in the real world, and I know how to do this. While I was grumpy with a few people as I started, I managed to take a positive outlook on this as I got into it.

    I got to practice a few skills:

    • quickly removing the old hub bearing race with a specialized tool
    • grinding down the axle where it was slightly deformed
    • taking a break to get a new set of bearings
    • using my experience to reassemble the wheel in about 40 minutes
    • Not bending (too much) the hub cover tapping it back on.

    All in all not what I wanted for the day, but it was fine. I got a few other things done, and got to teach a few people how to prevent this in the future.

  • RIP Brian Moran

    When someone older than you dies, it’s sad, though I feel that I can cope. I hold memories dear, I appreciate the time I had with an individual, and I hope I can live as long as they walked the Earth.

    If someone younger dies, it’s truly shocking. After being stunned, I often stop and appreciate where I am in life, and that I’m still here.  A phrase runs through my head:

    There, but for the grace of God, go I.

    I’m not a religious person, but that phrase sticks with me. I am lucky to be where I am. I’m lucky to have had good fortune, and that my bad fortune hasn’t been catastrophic.

    Today I got a note from a friend. He told me that Brian Moran (t, st, mvp, li)  had passed away. Brian was a wonderful man, someone I’ve known close to 20 years. We worked in the same field, we were fellow speakers at events, and we’ve had numerous phone calls at times trying to find ways to work together in business. He was a big part of the PASS organization, of supporting SQL Saturdays, and helping grow the SQL community larger and stronger.

    He is one of maybe a few dozen people in my professional life whose partner I’ve met, who’s met my wife, who I’ve had talked with while at home, and who loved Hawaiian shirts like me. We have daughters the same age, and we’ve shared many conversations over the years. We weren’t that close, but we respected and enjoyed each other’s company often. One of the relatively few people I’d stop and have an extended conversation with when we were together.

    I have no details on what happened, and my heart goes out to his wife and family. It’s a stunning day, and as pat of my job, I’ll update a memory a sqlmemorial.org next week. One of the harder posts that I’ll have to write.