I’ve historically been a huge fan of Mladen Prajdic’s SSMS Tools Pack. It’s a full-featured tool kit which solves a lot of problems and I highly recommend it to anybody who uses SSMS. I’m not averse to spending money—after all, the other two products on my list are paid tools—but I wanted to see what else was out there.
The tool I landed on is SSMSBoost. SSMSBoost is a great tool with free and paid editions, but the only difference between the two is that you need to re-download the free edition every 120 days.
SSMSBoost has a huge number of features, but let me focus on a few that I absolutely love. First, in the event that SSMS crashes (say, due to running out of memory because you have too many tabs open), this product keeps track of all open tabs and re-opens them the next time Management Studio starts. You can also keep track of your history—important if you know you ran that query a day or two ago but closed the window since—and even re-open the previous tab like you can in a web browser.
The next feature I love is auto-replacements. Lots of tools have them, but this makes it easy.
In the above screenshot, I have a template for what goes inside my CATCH block. I also have a couple of commands for try-catch (trc) and try-catch inside a transaction (trct). That way, when I’m developing new code or bringing old code up to par, a few keystrokes goes a long way and I don’t need to have a text file with these formats. Something nice about these templates is that they have some level of automation, using things like current timestamps and SQL Server Management Studio templates.
The third feature I love is scripting out objects. If I’m connected to a database, I just need to move my cursor to a particular database object and hit F2. SSMSBoost will read the metadata for that object and script it out for me as though I had dug through the Object Explorer, found the object, and right-clicked and selected to script as Create. This can be a huge time-saver when you would otherwise need to scroll through thousands of objects and is one more case where you can avoid having to use the mouse while you’re typing.
The final feature I want to talk about is scripting and visualizing. Quite often, people will ask for one-off reports, making Excel another of my frequently-used tools. Instead of copying results to Excel manually, I can script my result set as an Excel document and send it their way. Normally I’d do a little bit of document tweaking—formatting tables, adding totals, etc.—but this removes some of that pain. I can also script a result set as a SELECT statement, an INSERT statement, and even an HTML table. Visualizers, meanwhile, take data in a particular result set’s cell and let you open as an image, text, or Word document. This is helpful for those mega-strings of text that SSMS isn’t really built to view.