web-dev-qa-db-ja.com

SSMSツールパックの代替

SSMS Tools Pack 2012 に相当するツールはありますか?ライセンス供与(マシンあたり30ドル、任意の数のマシンで100ドル... 3か月間)は多くの要望があり、他にどのようなオプションが利用できるのか確信が持てませんでした。

たとえば、私が本当に見逃している1つのことは、「実行するすべてのクエリを保存する」ことです。いじくり回したり調査したりするとき、さまざまなバージョンのクエリを実行するときにバックアップを実行しておくことは非常に重要です。または、2か月前に作業していたクエリのバックアップがないことに気づきました。

明確化:SQL Server Management Studioには公式のアドオンサポートはありませんが、いくつかのツールがあります。 SSMS Tools Packは私が非常に気に入っていた(2005、2008バージョン)ものですが、2012のライセンス料は恐ろしいものです。 (私は妥当なライセンスを支払いますが、それはここでは問題ではありません。)

私は SSMS Boost を見つけました。たとえば、SSMSにいくつかのクールな追加があり、価値があるようです。

SQL Server 2012には他にどのようなアドインがありますか? SSMSツールパックのようにF5を押したときにクエリを保存するもの、またはリストされている2つのツール以外のものはありますか?

19
WernerCD

私はこれを試してみると思っていましたが、SQL Server 2012 SSMSで機能する「実行するすべてのクエリを保存する」という目標を達成するために、これは私のマシンで仕事をしているようです(独自のエラー処理/テストを追加します) /リファクタリング)

Andreiのサンプルプロジェクト に基づいており、Connectクラスが置き換えられています。 Codeplexの SSMSAddin2012プロジェクト も非常に便利です。

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
    }
}
9
Martin Smith

SSMSBoost開発者からの詳細情報。あなたが私のプロジェクトについて言及するとすぐに、私は私がプロジェクトについていくつかの言葉を書くことを許可します。このツールを作成した主な理由は、T-SQL開発とDBA指向のタスクに関して、生産性機能が見当たらないことです。例えば:

  1. 異なるサーバー間の頻繁な接続切り替え
  2. 1日に1000回書く "select * from" ...
  3. グリッドの結果をExcel/xmlにエクスポートする
  4. お気に入りの接続のリストを保持する
  5. ライブ環境に接続するときにSSMSからの警告がある

これらすべてとその他のいくつかの日常業務はSSMSBoostに対応しており、常に改善されています。現在、私は30〜40日ごとに新しいバージョンをリリースしています。最後の3つのバージョンで、肯定的で建設的なユーザーからのフィードバックも多く得られ、多くの機能が改善されました。実行されたすべてのクエリを保存するという提案もすぐに実装されます。私が書いたように-何か特別なことをしたい場合は私にメールを送ってください([email protected]

11

SQLハンティングドッグは、無料で非常に使いやすく、使いやすいもう1つの方法です。

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

sQL Server管理スタジオ2008/2012で動作し、はるかに優れたナビゲーションを提供します(ただし、ssmstoolpackよりも機能が少ない)。

小さなハウツー

4

無料ではありませんが、 SqlSmash はSSMS 2012、2014のアドインでもあります。

免責事項:私は製品の開発者です

1
Latish