Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

Are there any tools out there comparable to SSMS Tools Pack 2012? The licensing ($30 per machine, $100 for any number of machines... for 3 months) leaves a lot to be desired and I wasn't sure of what other options are available.

For example, one thing that I really miss is the "Save every query you run". When tinkering and researching, it's been invaluable to have a running backup of different versions of queries as I run them. Or when I realize I don't have a backup of a query I was working on 2 months ago.

Clarification: SQL Server Management Studio's have no official addon support, but there are some tools out there. SSMS Tools Pack is one that I've been very fond of (2005, 2008 versions), but the licensing fee for 2012 is horrible. (I would pay for a reasonable license, but that's not the question here.)

I've found SSMS Boost for example that has some cool additions to SSMS that seem worth it.

What other addins are available for SQL Server 2012? I'd love to have something that saves a query when I hit F5 like SSMS Tools Pack does, or anything out there besides the two tools listed?

share|improve this question

closed as off-topic by Paul White, Mark Storey-Smith, Max Vernon, RolandoMySQLDBA, Aaron Bertrand Jul 14 at 20:18

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Shopping list question - questions about which tool, library, product or resource you should use are off-topic here because they quickly become obsolete and often are just about the preferences of the answerer. If you have an issue with or a question about a specific tool, please revise your question to conform to that scope." – Paul White, Mark Storey-Smith, Max Vernon, RolandoMySQLDBA, Aaron Bertrand
If this question can be reworded to fit the rules in the help center, please edit the question.

1  
I had the same thoughts on cost too. There are some SSMS addins on codeplex so maybe knocking up a "Save every query you run" addin based on those might not be too hard. –  Martin Smith Oct 1 '12 at 20:01
    
@MartinSmith Yeah I posted SSMS Boost - Which also seems to have a quick on how to create addins, as well as other interesting features. I'm not one to reinvent the wheel if I don't have too, but I might have to go this route if it's not available: ssmsboost.com/… –  WernerCD Oct 1 '12 at 20:08
1  
Hi, I am SSMSBoost creator. We have already "Save every query you run" feature in progress, it will be released within about 1 month. Please use our forum to write your requirements/points that you want to have in this feature. (or write to support@ssmsboost.com) –  Andrei Rantsevich Oct 1 '12 at 21:44
1  
Hi, just to let you know that I've added new licensing options to SSMS Tools Pack. Send me an email if you have any questions about it. If you don't like it I'm sure we can work something out. :) To be honest SSMSBoost does look pretty cool though. –  Mladen Prajdic Dec 19 '12 at 15:51
    
@MladenPrajdic I'll be honest, I like this set of terms MUCH better. I'll actually consider the $100 version (although a bit more than I'd like to spend... I'm used to getting sale and/or student discounts lol). Expect an email soon with a couple questions. –  WernerCD Dec 21 '12 at 14:10
add comment

4 Answers 4

up vote 6 down vote accepted

I thought I'd have a play with this and for the stated goal of having something that "Saves every query you run" that works on SQL Server 2012 SSMS this seems be do the job on my machine (Add your own error handling / testing / refactoring)

It's based off Andrei's sample project with the Connect class replaced. The SSMSAddin2012 project on Codeplex is also very useful.

namespace SSMSAddin
{
    using System;
    using System.IO;
    using System.Windows.Forms;
    using EnvDTE;
    using EnvDTE80;
    using Extensibility;
    using Microsoft.SqlServer.Management.UI.VSIntegration;

    public class Connect : IDTExtensibility2
    {
        private DTE2 application;
        private CommandEvents executeSqlEvents;

        public void OnConnection(object application, ext_ConnectMode connectMode, object addInInst, ref Array custom)
        {
            this.application = (DTE2)application;
            this.executeSqlEvents = this.application.Events.CommandEvents["{52692960-56BC-4989-B5D3-94C47A513E8D}", 1];
            this.executeSqlEvents.BeforeExecute += this.executeSQLEvents_BeforeExecute;
        }

        private void executeSQLEvents_BeforeExecute(string guid, int id, object customin, object customout, ref bool canceldefault)
        {
            try
            {
                Document document = ((DTE2)ServiceCache.ExtensibilityModel).ActiveDocument;
                var textDocument = (TextDocument)document.Object("TextDocument");

                string queryText = textDocument.Selection.Text;

                if(string.IsNullOrEmpty(queryText))
                {
                    EditPoint startPoint = textDocument.StartPoint.CreateEditPoint();
                    queryText = startPoint.GetText(textDocument.EndPoint);
                }

                DateTime now = DateTime.Now;
                string folderPath = string.Format(@"E:\SSMS Queries\{0}", now.ToString("yyyyMMdd"));
                string fileName = now.ToString("HHmmss-FFFFFFF") + ".sql";
                Directory.CreateDirectory(folderPath);
                string fullPath = Path.Combine(folderPath, fileName);
                File.WriteAllText(fullPath, queryText);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        #region Other Interface Methods

        public void OnDisconnection(ext_DisconnectMode disconnectMode, ref Array custom) { }

        public void OnStartupComplete(ref Array custom) { }

        public void OnAddInsUpdate(ref Array custom) { }

        public void OnBeginShutdown(ref Array custom) { }

        #endregion
    }
}
share|improve this answer
1  
Well done :) We have actually implemented this feature - it will come in SSMSBoost 2.7 (It was too short for v2.6 that will be released over this weekend). So, after 2-4 weeks it will be online with some customization options... –  Andrei Rantsevich Oct 4 '12 at 19:31
    
@AndreiRantsevich - I'm sure yours will be much more full featured! I just wanted an excuse to play with Addins. –  Martin Smith Oct 4 '12 at 19:33
    
I am pleased to know that you could use my project as start-up to build your sample. Do you use SSMSBoost ? If you have any wishes - send me an e-mail I will consider implementing them. I can imagine that you have something, you want to have in SSMS, as far as you have found the sample project :). You can have a look at v2.6 beta-notification, that I have published today - it has a lot of new nice features ! ssmsboost.com/social/… –  Andrei Rantsevich Oct 4 '12 at 19:41
    
@AndreiRantsevich - The only thing that springs to mind at the moment is probably something few other people apart from me would find useful. I would like a way to export the execution plan as an image with some of the operator properties annotated onto the image. I'll probably have a go at that myself. –  Martin Smith Oct 5 '12 at 10:28
1  
@WernerCD That namespace appears in SqlWorkbench.Interfaces.dll and SqlPackageBase.dll both of which are in C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio on my machine –  Martin Smith Feb 23 '13 at 19:54
show 8 more comments

Some more info from SSMSBoost developer. As soon as you mentioned my project, I allow myself to write some words about the project. The main reason I have written the tool was that I have missed productivity features, concerning T-SQL Development and DBA - oriented tasks. For example:

  1. frequent connection switching between different servers
  2. writing 1000 times a day "select * from "...
  3. export grid results to excel/xml
  4. keeping a list of favorite connections
  5. having a warning from SSMS when connecting to live-environment

all these and some other daily operations are adressed in SSMSBoost and have been constantly improved. Currently I release new version every 30-40 days. Over last 3 versions I have also got a lot of positive/constructive user feedback and lot of features were improved. Your proposal to save every executed query will be also soon implemented. As I wrote - if you want to have something special write me an e-mail (support@ssmsboost.com)

share|improve this answer
    
Awesome :) I haven't had a chance to start testing out some of the features I saw (I'm most interested in the "format query" option, amounst others), but I definitely downloaded it to install wherever I use SSMS. I'll keep an eye out for that update. –  WernerCD Oct 1 '12 at 22:44
    
I just read your article linked to by the OP and thought I'd have a look at the sample. I have RTM version of 2012 management studio installed but see no SqlPackageBase.dll. Can't find many references to this on Google either. Are you sure it should be installed with SSMS? –  Martin Smith Oct 2 '12 at 21:04
    
Yes - it is installed with SSMS. Here are my versions: Microsoft SQL Server Management Studio 11.0.2100.60 Microsoft Data Access Components (MDAC) 6.1.7601.17514 Microsoft MSXML 3.0 4.0 6.0 Operating System 6.1.7601 Dll is located in this folder: C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\SqlPackageBase.dll –  Andrei Rantsevich Oct 3 '12 at 5:40
    
@AndreiRantsevich - Ah I'm on x64 as well and was looking in C:\Program Files\Microsoft SQL Server\110\Tools\Binn\ManagementStudio Thanks! (Might be worth mentioning this in the article where you state the paths) –  Martin Smith Oct 3 '12 at 9:42
    
Still waiting patiently for your release btw :) –  WernerCD Feb 23 '13 at 22:53
show 2 more comments

Another free and very nice and user friendly alternative is SQL Hunting Dog.

http://www.sql-hunting-dog.com

it works with SQL Server management studio 2008/2012 and gives you a much better navigation (however it has less features than ssmstoolpack.)

small how to

share|improve this answer
    
I like the looks of this. Looks smooth and awesome. Definitely doesn't seem to have the "breadth" that the tool packs have, but I really like the few things it does - as it seems to do them well. –  WernerCD Aug 1 '13 at 13:56
    
Well, I am not trying to compete with toolpack. Just trying to build nice and smooth navigation and quick search. –  AlexTheDeveloper Aug 7 '13 at 0:38
    
One suggestion - we work with many databases in our company. It'd be great if the tool would default to the database connection of the current Query Window. Or have an option to default to a specific database. –  Gabe Nov 5 '13 at 18:45
add comment

It's not free but SqlSmash is also an addin for SSMS 2012, 2014.

Disclaimer: I am the developer for the product

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.