Azure Data Studio – Server Reports Extension

This is my fourth blog post on Azure Data Studio extensions.  Of the three I have completed a post on, all of them I found to be very useful.  The Server Reports extension is no different.  As the name implies, it is for reporting on the server.  This extension is currently in preview mode, so things could change.  According to the documentation, this extension returns information about the following items:

        • DB Space Usage
        • DB Buffer Usage
        • CPU Utilization
        • Backup Growth Trend
        • Wait counts

To find the extension search the extensions on “Server Reports”, at the time of this post, this is the only extension that will be returned.

To install, simply click the Install button.  This is a very fast install and does require a restart of Azure Data Studio.  To use the extension, you will need to navigate to your connections by clicking the button that is in the green box below.

Once there, right click on the database connection you would like to review and go to “Manage”.  Once you do, you will see along the top extensions that you have installed.  However, you will only see relevant extensions, mostly extensions for monitoring or configuration.  I currently have the PowerShell extension installed, however it really isn’t a monitoring or configuration reporting extension, so it does not appear in the list of options.

What I found interesting is that if your connection points to the default database you will not see “Server Reports” as an option.

If you see this, you will need to expand the tree, right click on a database and go to “Manage”.  Then you will see Server Reports as an option.  Once you click on Server Reports you will see some pretty useful information.

Starting with what you see under the Home option. You will see two buttons, the top one is for Monitoring and the bottom one is for Performance.

The top one, Monitoring is already selected by default and returns four charts.  One for each of the following items.

          • DB Space Usage
          • DB Buffer Usage
          • CPU Utilization
          • Backup Growth Trend

When you click the “Performance” button you will see a chart returning information about waits.

If you look at all the charts, you will see an ellipsis in the upper right corner.  For all the charts when you click this you will see two options, run query and refresh.  However, some charts may have additional options.  The Wait chart above has a third option, Show Detail.  Which is what is below.

The thing I really like is that one of the options is Run Query.  Not only will this allow me to view the data in a grid format, it will allow me to see the actual query what was used to pull the information.

I really like this extension, I think it returns some useful information.  However, I think I like it more for the potential rather than for what it current returns.  Since this extension is still in preview mode, my hope is that there will be more counters added as time goes on.

Here are the links to my other blog post on Azure Data Studio.

Azure Data Studio Introduction

How to View Agent Jobs in Azure Data Studio

Azure Data Studio – SentryOne Plan Explorer Extension

Azure Data Studio – Explain Button

Azure Data Studio – Searching Extensions

Azure Data Studio – SSMS Keymap


Thanks for visiting my blog!!




Azure Data Studio – SSMS Keymap

One of the key board shortcuts I use quite often is ctrl + shift + u, which changes all the selected letters to upper case.  However, when I tried this in Azure Data Studio it did nothing. At first I was disappointed but then was very quickly relieved when I found the SSMS Keymap for Azure Data Studio Extension.  This extension will bring many of the keyboard short cuts into ADS, just as they are in SQL Server Management Studio.

In case you haven’t worked with Azure Data Studio and extensions, they are kind of like a snap in for ADS.  Once you have ADS open, to install it you will need to open the extension window.  You can do this either by clicking Extension under the view menu or click the button that is highlighted below.

When you finally arrive at the extension window, you will need to look for the SSMS Keymark extension.  It will looks similar to below.  If you look carefully you will see that this is a third party extension and not written by Microsoft.  This was developed by Kevin Cunnane.  When look at the GitHub to download the file, it looks like Kevin may work for Microsoft.  Although Microsoft’s name is not on this extension.

Click the install button and you will be taken to the GitHub location where you can download the .vsix file.  Place this in a location that it will not get deleted or overwritten.  Open Azure Data Studio, under the File menu you can click on the “Install Extension from VSIX package” item and navigate to the location you place the file.

When the install begins you may see this:

Click Yes and the install will begin.  This extension installs very fast so not much waiting.  Unlike some extensions, this one does not need a restart of Azure Data Studio to work properly.

This is a short post, but I plan on doing more posts on some of the different extensions.

Thanks for visiting my blog.






Azure Data Studio – Searching Extensions

As time goes on I would think that there will be more and more extensions for Azure Data Studio that we will be able to utilize.  While that is going to be great, it will also create a challenge, finding the proper extension.  This is where the searching capabilities come in handy.

Just as a reminder, to get to the extensions, all you have to do is click the button that is highlighted below.

Let’s take a quick tour of the extensions window.  There are three groups that you will see, Enabled, Recommended and Disabled.  To the right of the header for each group will also see the number of extensions that are in the group.  There is also a search box, we will cover that a bit later.  You may notice that some extensions have a star in the upper left corner.  When you see this, that extension is being recommended by Azure Data Studio. These are the extensions that you should really consider installing.

Above the groups there is a search box.  Once you start typing Azure Data Studio will begin to filter the extensions based on what you type. For example if I am looking for extensions that can help me manage SQL Server Agent jobs I could type the word “jobs” in the box.  The extensions will then be filtered as you type.  Notice below there are two extensions that have “jo” somewhere in the name or description.  In the example below, Palenight Theme is returned by cause of the provider name, JoseRocha.  “Jo” is obviously in the first name.  The second extension, SQL Server Agent is returned because “jo” is in the description.  Microsoft has made this type of searching very easy.

In the upper right hand corner of the extensions window you will see three dots, if you click on that you will see a number of predefined search criteria.  The first group in the context menu is about searching.  However, there is more you can do here.  You can also install extensions, enable and disable all extensions and check for updates to extensions.

Since this post is about searching we will focus our attention on the top portion of this menu.  I think the names do a pretty good job of describing what they are going to search on, so no need to really go into that.  However, when you do pick on the options, in the search box you will see an entry that starts with an @.  This is the criteria Azure Data Studio will search on.  In the example below I wanted to see only the extensions that are installed.

You really don’t need to use the menu if you don’t want to. You can type the @ into the search box and a number of options that are not available in the above mentioned menu.  There are a number of options that are not in the menu.  Such as @builtin, these are the extensions the obviously come installed as part of Azure Data Studio.

Notice that in addition to placing a filter on the extensions, you can also sort the extensions by a number of columns.

If you pick @builtin, you will see that as of the writing of this post, there are 32 extensions installed.

If you click one of the builtin extensions, many of them will have this warning in the documentation for the extension.

I am hoping in the future there are going to a large number of extensions we can pick from.  Searching can cut down on the time for us to search for an extension that works with a particular area, like SQL Agent jobs.  It can also help us identify what extensions are in need of an update and which extensions are install or disable.

Thanks for visiting my blog!!





Azure Data Studio – SentryOne Plan Explorer Extension

A few days ago I completed a post that hopefully provided information of what the Explain button is and why you might want to use it.  This post is a continuation of the same general topic, execution plans.  As I prepare to present my new session on Azure Data Studio I will be completing several blog posts on some of the great extensions that are available. Many of us have used the SentryOne Plan Explorer application and have enjoyed the ease at which it integrated with SQL Server Management Studio.  The extension for Azure Data Studio has similar ease of integration with the added benefit of addressing a few of the challenges that currently exist in ADS.  While this extension is still in preview, it can be very useful.

In case you are not familiar with an extension in Azure Data Studio, think of it as simply something that extends the functionality of Azure Data Studio.  There are a number of extensions that cover a wide range of topics.  These topics include Agent Jobs, performance reports, PowerShell and the topic of this post, SentryOne Plan Explorer.  Even though the extension is currently in preview, it already has many great features that can easily make our lives as a DBA better!

First things first, let’s talk about how to install the SentryOne Plan Explorer extension.  Once we have opened Azure Data Studio we will need to open Extensions by either clicking the item on the red box below or go to Extensions under the view menu.

Once there you will need to find the Extension for SentryOne Plan Explorer. It will look like what you see below.  One thing I would like to point out, the star in the upper left corner.  When an extension has this, that extension is being recommended by Azure Data Studio.

When you click the Install button you will be redirected to the SentryOne website.  On this page look for this,  ” Visit” link just a little bit down on the page.  Once you click the link you will be asked to login to the SentryOne site. After logging in, find the “Download Plan Explorer Extension” you will be asked to download a .vsix file.  This is the file you will need to add the extension to ADS.  Place this file in a location of your choosing and then click the “Install Extension from vsix Package”.  My suggestion is to put the file in a location that is easy to get to and won’t get over written or deleted accidently Locate the file and click Install.

If you have the Extension window open while it is installing you might see a small bar moving from left to right.  This will continue until the extension is fully installed.  Once it is installed you will see a popup in the lower left corner of ADS stating the install is complete.

After a quick restart of ADS, you are ready to utilize the SentryOne Plan Explorer extension.  In the lower right corner you will see a new item.  This will make it very easy to turn the Plan Explorer On and Off.  If by chance you are running queries and don’t want to see the execution plans, just click that to toggle it to off.  Now you will not see the plans.  The best part of this is that it does require me to restart Azure Data Studio like I would have to if I disabled the extension.

So now we have it installed, what’s next.  Well…run a query!  When you do a new tab will open up and you will see something like below.  When you click that new tab you will see this grid.  There will be one row for each statement in the batch.

This grid has some great information. The meat of the grid is to the far right.  You will see two links, one for the graphical plan and the other the XML.

When you click the “View Plan” link, the plan will open up in another tab.  Here you will see the familiar SentryOne look to the operators in the plan.

Here is the same plan using SentryOne Plan Explorer.  Very few changes to the look and feel of the plan diagram, which I think is a great thing.


You may notice the arrow in the upper left corner, this will take you back to the grid mentioned earlier.  You can still move the operators around by clicking and dragging them to another location as in the image below.  Also the selected operator still has the box around it.  This is another feature of Plan Explorer that I have always liked.

Another change you will notice pretty quickly is the differences in the properties displayed when you float your cursor over an operator. Initially you may think that a bunch of important properties were left out.  They weren’t left out as much as they were moved.

You will get the above pop ups when you float the cursor over the operator.  However, if you click on the operator, another larger popup will appear on the right side of the screen. If you compare the properties below and the properties above from Plan Explorer you will see that all the same properties are there.  What I like about what SentryOne has done, it allowed for a smaller popup when you float your cursor over the operator allowing for a quicker review of the properties.


In Plan Explorer, we are used to right clicking in the plan and seeing the menu on the right below.  You can still right click on the plan, however there are fewer properties displayed.  The biggest thing here is that the Zoom feature is still present.  The zoom slide bar we are used to at the bottom of the screen isn’t available.  I just need something that allows me to zoom in on the larger more complex plans. I really am more concerned that I can zoom if needed, not necessarily how it can be accomplished so although the slider makes it easier to zoom I can live with this.

When in Plan Explorer you may be used to see this. It is basically a number of sliders that control various aspects of how the plan is displayed.  These can be very useful, but the one I have used far more than the others is Zoom.  Sometimes the plan is very complex and have a zoom slider is a very simple way to zoom in on a particular part of the plan.  Even though there is still a way to zoom, I really liked this feature.

When I am working in SSMS and I want to save the plan, I just right click and save plan.  It will be save with a .sqlplan file extension.  Plan Explorer is only different in that the saved file will have a different file extension, pesession.   I have saved many plans over my career for a number of reason, to review later or to send to someone come quickly to mind.  I clicked on Save As under that file menu and nothing happened.  I tried SaveAs and Save both.  Same result.  This could be more of a limitation of Azure Data Studio than the SentryOne extension.

Even though the plan doesn’t appear to be something we can save, we can click on the “View XML” link and then save the XML.  Then find the file and change the extension to .sqlplan.  It can then be opened up in either SSMS, SentryOne Plan Explorer or Azure Data Studio.  I like that we have three options to view a plan.  Each has it’s pros and cons.  My plan is to use Azure Data Studio and the SentryOne extension because it keeps me in one application rather than two.

I will have all three applications installed on my computer.  Although the Azure Data Studio extension is not as robust as Plan Explorer, it can still be very useful. Even though this extension is still in preview, there are many things I like about it and I would highly recommend that you plan on getting this one if you are going to be using Azure Data Studio.


Thanks for visiting my blog!!!


How to View Agent Jobs in Azure Data Studio

As a DBA creating and managing SQL Server Agent jobs is an essential part of our day to day activity.  We have always done this via SQL Server Management Studio or Transact SQL.  Both of these are still great options for managing jobs, but what about Azure Data Studio.  Unfortunately, the management of agent jobs is not part of the native functionality of Azure Data Studio.  If you look at the screenshot below you will see that the SQL Server agent is not available.  So does this mean that Azure Data Studio isn’t the proper tool for the management of agent job?  The answer to this question is a classic DBA answer, it depends.  If you do not install an extension you will not be able to manage jobs.

Before going any further let’s take a few minutes to go over what an extension is.  As the name might imply, it extends something.  In this case Azure Data Studio has it’s functionality extended to do something that is normal cannot do.   An example of this would be the ability to manage SQL Server Agent jobs.  Since Azure Data Studio requires an extension to manage jobs, what extension would need to be added?  The answer is the Admin Pack for SQL Server extension.  There is a SQL Server Agent extension as well, this is part of the Admin Pack for SQL Server. While this extension does more than just job management, we will focus mostly on how manage Agent jobs using Azure Data Studio.

Here is a list of some of the functionality of the Admin Pack for SQL Server extension.

    •   Agent Job management
    •   Import file wizard
    •   Deploy and extract dacpacs
    •   Deploy and extract bacpacs
    •   Browse Extended Events.
    •   Other functionality as well

As stated earlier, we will need to install the Admin Pack for SQL Server extension.  So where do we get it?  Since it was created by Microsoft, you will be able to get it right from inside Azure Data Studio.

Before installing the extension, we should probably check to see if it is installed already or if it has been disabled. If you click the icon in the green box below, the extension Marketplace will open up.  If you see the Admin Pack for SQL Server under the Recommended block, it is not installed.  If you see it under Disabled, the extension has been disabled.

List of disabled extensions can be found in the following location. Notice that the extension has been greyed out.

Another way to determine if the extension has been installed is to see if the SQL Agent appears as an option when you are managing the server level.   As in the image below the Agent will be present when managing the server.  If you do not see SQL Agent, it means either it is not installed or has been disabled.  If it is not installed you can go to the MarketPlace and install it from there.

Now that we have confirmed the Agent extension is not only installed, it is also enabled, we are ready to manage the jobs on the server.  Let’s do a quick inventory of what a typical DBA would do with jobs.  All of these can be completed with Azure Data Studio, however there just a few minor limitations that will be discussed later in this post.

      • Manage jobs history
      • Manage operators
      • Manage alerts
      • Manage proxies

To get to the Agent job information in Azure Data Studio, you will need to right click on the server and go to “Manage”.  As seen below.

Once you do, you will not only see the SQL Agent but also other Extensions you may have installed in Azure Data Studio.

In the above image, you will see that not only do I have the Admin Pack for SQL Server extension installed, but I also have the extension for sp_whoisactive and a few others.  All of which I would recommend that you install.

When you are finally in the proper place to manage the jobs, you will see the same items you will see when using SQL Server Management Studio.  You will of course see the job name, last run, enabled status, category and a few others.  These are the same items we have been working with for years in SSMS.  In the green box in the image below you will be able to click each item and you will be taken to the management area for jobs, alert, operators and proxies.

As you can see above, you can sort by any column you would like and it also displays information about the failure if the last execution was a failure.  In addition to sorting, when you click the down arrow in the column header, you will also have an option to filter the column, similar to Excel. In the red box above is something that is pretty cool. Each bar represents one of the last five job executions. If you click on the of bars, you will be taken to the details of that execution. The image below is an example of what you will see.

When looking at the jobs you will see the button we can use to create a new job. When creating a new job, all the same information is requested so it is pretty easy to figure out.

There are a few differences though when creating a new job in Azure Data Studio.  Starting with job step type.  When working in Azure Data Studio you don’t have the three BI stack related types.  The image below shows the job step types for both SQL Server Management Studio on the left and Azure Data Studio on the right.

Another difference is the creation of new job schedules.  This can be done using SSMS, but can not be done with Azure Data Studio.  You can get use existing shared schedules, just can’t create new ones.

Moving away from jobs, alerts can also be created and modified utilizing Azure Data Studio.  All the same information can be entered, however there is one difference.  When creating an alert you are asked to chose an alert type. When using SSMS you will have three options:

      • SQL Server Event alert
      • SQL Server Performance condition alert
      • WMI event alert

When using Azure Data Studio, you only have one option, SQL Server Event alert.

While there are a few limitations, Azure Data Studio is still a very good tool.  The few limitations in Azure Data Studio for Agent job management can easily be over come simply by using SQL Server Management Studio.

Thanks for visiting my blog!!