Exporting Lists 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.

Recently a customer wanted to share their distribution list with another person on their team. They asked how to do this, and it turns out to be very simple.

We’ve built import and export into the tool. I’ll look at how you can do this.

First, open SQL Multi Script and then pick the tools menu. Here you will see the export and import items, as shown below.

2021-07-13 11_13_32-SQL Multi Script - New Project_

If I pick export, I get a dialog that shows the distribution lists I’ve created.

2021-07-13 11_13_25-Export Distribution Lists

I can pick all, one, or a group of them. Note that all of these are exported into a single file, which is useful if I can want to share all my lists with a colleague.

Once I click “Export” I have to choose a file name and location from a standard Windows Explorer dialog. I always think about how I’d sort these in a large list, so I like to pick something that will make sense in a month. In this case, the app and then the list..

2021-07-13 11_14_09-Save As

Once I click OK, the file is created, and I can see it in the file system. Here I’ll open it in Sublime Text to see what it looks like.

2021-07-13 11_14_28-Documents

The file is XML, which isn’t ideal, but it it easy to read. I have my XML file below, with all instances using Windows Authentication. If I had used SQL Auth somewhere, this would end up with an encrypted password, which I assume SQL Multi Script can import and decrypt. Here is my file:

<?xml version="1.0" encoding="utf-16" standalone="yes"?>
<!--
SQL Multi Script
SQL Multi Script
Version:1.5.4.1390-->
<databaseListsFile version="1" type="databaseListsFile">
   <databaseLists type="List_databaseList" version="1">
     <value version="2" type="databaseList">
       <name>MixedAuthList</name>
       <databases type="BindingList_database" version="1">
         <value version="6" type="database">
           <name>AdventofCode</name>
           <server>(local)</server>
           <integratedSecurity>True</integratedSecurity>
           <connectionTimeout>15</connectionTimeout>
           <protocol>-1</protocol>
           <packetSize>4096</packetSize>
           <encrypted>False</encrypted>
           <selected>True</selected>
           <cserver>ARISTOTLE</cserver>
           <readonly>False</readonly>
         </value>
         <value version="6" type="database">
           <name>dlm_3_qa</name>
           <server>LOCALHOST</server>
           <integratedSecurity>False</integratedSecurity>
           <username>Joe_Admin</username>
           <savePassword>True</savePassword>
           <password encrypted="1">25eJUgEGChcaG13SEpATBg==</password>
           <connectionTimeout>15</connectionTimeout>
           <protocol>-1</protocol>
           <packetSize>4096</packetSize>
           <encrypted>False</encrypted>
           <selected>True</selected>
           <cserver>ARISTOTLE</cserver>
           <readonly>False</readonly>
         </value>
         <value version="6" type="database">
           <name>dlm_2_integration</name>
           <server>LOCALHOST</server>
           <integratedSecurity>False</integratedSecurity>
           <username>Joe_Admin</username>
           <savePassword>True</savePassword>
           <password encrypted="1">25eJUgEGChcaG13SEpATBg==</password>
           <connectionTimeout>15</connectionTimeout>
           <protocol>-1</protocol>
           <packetSize>4096</packetSize>
           <encrypted>False</encrypted>
           <selected>True</selected>
           <cserver>ARISTOTLE</cserver>
           <readonly>False</readonly>
         </value>
       </databases>
       <guid>4e255407-343c-4b88-a54a-4e981ad2beac</guid>
     </value>
   </databaseLists>
</databaseListsFile>

This is a useful feature for sharing lists in a team. It’s a little clunky, but it works well.

If you’ve never given this a try, download SQL Multi Script today, or get the Toolbelt and give it an eval. You might find it’s quite handy.

About way0utwest

Editor, SQLServerCentral
This entry was posted in Blog and tagged , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.