Ssms-Tips-Tricks

SSMS Tips and Tricks 4-11: Encryption status in query status bar

One of the bigger changes in recent versions of SSMS has been the inclusion of connection encryption details on the main connection page:

Previously, this was on another page of the logon dialog. Once you make the connection though, there previously was no indication of what type of encryption was used. Now that appears in the query status bar as a lock. When you hover over the lock, it shows you the type of encryption that had been selected.

2025-11-04

SSMS Tips and Tricks 3-18: Scrolling sensitivity

When I’m editing large script files in SSMS, I sometimes find that the scrolling speed of my mouse wheel is too fast or too slow.

If you don’t like the current speed, SSMS has an option to adjust that.

It’s in the Text Editor, Advanced, section. It allows you to control how many lines you get per scroll (for vertical scrolling) or how many characters (for horizontal scrolling):

2025-10-30

SSMS Tips and Tricks 3-17: Intellisense casing for function names

When I write T-SQL, my standard is to use upper-case names for built-in system functions. But not everyone likes that.

I’ve done a lot of work on systems where all these names are lower-case. I don’t have any great objection to that, but it’s painful if Intellisense keeps making them upper-case.

But there is a solution. In Text Editor, Transact-SQL, then Intellisense, there is an option for this:

2025-10-28

SSMS Tips and Tricks 7-15: Disabling the open transaction check

When you close SSMS, the default action is that it checks each open window and makes sure there are no open transactions before it closes.

This is to allow you to decide what to do if you do have an open transaction, and based on that, to avoid losing any work.

While this sounds like a great idea, I mostly now work with Azure SQL Database, and my SSMS windows have been idle for long enough that I’ve lost the connection. So, when I close SSMS, it tries to check the transaction status against connections that are already closed under the covers.

2025-10-26

SSMS Tips and Tricks 7-14: Adding support for Analysis Services, Integration Services, and Reporting Services

When I first installed v21 of SSMS, I was puzzled that many of the connection options in Object Explorer were greyed out:

Because I had been working on a preview version, I thought it just wasn’t there yet. But when I checked the release notes, I saw it should be there. The issue is that I hadn’t added the Business Intelligence workload.

You don’t do that from within SSMS. Instead, you need to run the Visual Studio Installer:

2025-10-24

SSMS Tips and Tricks 7-13: Working in English and another language

I’ve been learning Mandarin (Chinese) for many, many years. I’m determined to become as fluent in speaking as I can, but to also be reasonable at reading and writing.

One important aspect of doing this, is to make sure you use the language you are learning as much as possible.

A great advantage of SSMS is that it is available for use in many languages. Yet when you do this, SSMS ends up supporting both the target language and English. That means that I can work part of the time in Chinese (to force myself to learn) and the rest of the time in English.

2025-10-22

SSMS Tips and Tricks 7-11: Accessing preview features

SSMS has a concept of channels that are used to control releases of the product. You can find them described here .

You can have both Release and Preview channels installed on the same system.

Most people who are using the product in production scenarios want to have a supported stable release. They should use the Release Channel .

Other people, however, are keen to try the latest features as soon as they are available, even if they aren’t at a Release quality bar yet. They can use the Preview Channel .

2025-10-20

SSMS Tips and Tricks 7-11: Providing feedback directly to the SSMS team

In the current version of SSMS, there is an option to provide feedback directly to the SSMS team. While you can just browse to the website, you can click this link in the top right-hand side.

At that point, you are given three options:

The first two end up in very similar locations, just with a different preselected context:

Make sure you search first to see if the problem has already been reported. As soon as you provide a title for your issue, the site does a search and shows you issues that are potentially related. If you see the same issue, you can click on it to go to the discussion and add your own comments there.   If the issue hasn’t already been reported, you can create a new issue. Make sure you provide a clear title, then detailed information about how to reproduce the issue. Finally, before submitting, make sure you indicate the impact you are experiencing:

2025-10-18

SSMS Tips and Tricks 7-10: Setting startup options

When you start SSMS, the default action at startup is to open Object Explorer. But you can change that behavior. The options to do that are in Tools. Options, then Environment, and Startup.

These are the options that are provided:

One that is often surprisingly useful is to open an empty environment. You might want to use SSMS to edit files without any connection to a database and not want to waste time waiting for SSMS to open the connection dialog, just for you to close it again.

2025-10-16

SSMS Tips and Tricks 5-9: Closing idle connections

One challenge that I find with T-SQL is that there’s no 100% reliable way to drop a database.

I wish I was joking.

If you execute DROP DATABASE, the command will fail if anyone is connected to the database. The way that we normally drop databases is as follows:

USE master;
GO  

IF EXISTS (SELECT 1 FROM sys.databases AS d WHERE d.[name] = N'somedb')
BEGIN
    ALTER DATABASE somedb SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
    DROP DATABASE somedb;
END;

That mostly works, but the problem is that I need to execute the command from the master database. That means that when I set the database to single user, I don’t know that I’m the single user. What I’ve seen happen sometimes, is that the Intellisense system in SSMS is reading further down my script, where I’m perhaps recreating the database, and it’s maintaining a connection to the DB.

2025-10-14