SSMS工具包替代品[关闭]


18

有没有可以与SSMS Tools Pack 2012媲美的工具?许可(每台机器30美元,任何数量的机器100美元……为期3个月的许可)还有很多需要改进的地方,我不确定还有哪些其他选择可用。

例如,我真正想念的一件事是“保存您运行的每个查询”。进行修补和研究时,在运行查询时对不同版本的查询进行运行备份是非常宝贵的。或者,当我意识到我没有2个月前正在处理的查询的备份时。

澄清:SQL Server Management Studio没有官方的附加组件支持,但是那里有一些工具。SSMS Tools Pack是我非常喜欢的工具包(2005、2008版本),但是2012年的许可费用太高了。(我会支付合理的许可证费用,但这不是这里的问题。)

例如,我发现了SSMS Boost,它在SSMS中添加了一些很酷的功能,似乎值得。

SQL Server 2012还可以使用哪些其他加载项?我很想有一些东西可以像SSMS Tools Pack一样在按F5时保存查询,或者除了列出的两个工具之外还有其他东西?


1
我对成本也有同样的想法。Codeplex上有一些SSMS插件,因此根据这些插件可能会敲出“保存您运行的每个查询”插件。
马丁·史密斯

@MartinSmith是的,我发布了SSMS Boost-它似乎对如何创建加载项以及其他有趣的功能也有快速的了解。如果我也没有,我不是要重新发明轮子的人,但是如果没有,我可能不得不走这条路:ssmsboost.com/…–
WernerCD

1
嗨,我是SSMSBoost的创建者。我们已经在执行“保存您运行的每个查询”功能,它将在大约1个月内发布。请在我们的论坛上写下您要在此功能中拥有的要求/要点。(或写信至support@ssmsboost.com)
Andrei Rantsevich 2012年

2
嗨,让您知道,我已经向SSMS Tools Pack添加了新的许可选项。给我发电子邮件,如果您有任何疑问。如果您不喜欢它,我相信我们可以解决。:)说实话,SSMSBoost看起来确实很酷。
Mladen Prajdic

@MladenPrajdic,我会说实话,我更喜欢这组术语。实际上,我会考虑100美元的版本(尽管比我想花的要多一些……我习惯了大减价和/或学生折扣)。希望很快收到一封电子邮件,其中包含几个问题。
WernerCD

Answers:


9

我以为我可以玩这个游戏,并且为了达到既定目标,可以在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
    }
}

1
做得好:)我们实际上已经实现了此功能-它将在SSMSBoost 2.7中提供(对于本周末将发布的v2.6来说太短了)。因此,在2-4周后,它将带有一些自定义选项上线...
Andrei Rantsevich 2012年

@AndreiRantsevich-我相信您的功能将会更加强大!我只是想找一个玩Addins的借口。
马丁·史密斯

我很高兴知道您可以使用我的项目作为启动样本的过程。您使用SSMSBoost吗?如果您有任何希望,请给我发送电子邮件,我将考虑实现它们。我可以想象,只要找到了示例项目,就想在SSMS中拥有一些东西:)。您可以看一下我今天发布的v2.6 beta通知-它具有许多不错的新功能!ssmsboost.com/social/...
安德烈Rantsevich

@AndreiRantsevich-目前唯一想到的事情可能是除我以外的其他人会发现有用的东西。我想要一种将执行计划导出为图像的方法,其中一些操作员属性标注在图像上。我可能会自己解决这个问题。
马丁·史密斯

1
@WernerCD,这个名字空间出现在SqlWorkbench.Interfaces.dllSqlPackageBase.dll这两者都是在C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio我的机器上
马丁·史密斯

10

来自SSMSBoost开发人员的更多信息。您一提到我的项目,我就允许我自己写一些关于该项目的话。我编写该工具的主要原因是,我错过了有关T-SQL开发和面向DBA的任务的生产力功能。例如:

  1. 不同服务器之间的频繁连接切换
  2. 每天写作1000次“从*中选择* ...
  3. 将网格结果导出到excel / xml
  4. 保留收藏夹连接列表
  5. 在连接到居住环境时收到来自SSMS的警告

所有这些以及其他一些日常操作都在SSMSBoost中完成,并且一直在不断改进。目前,我每30-40天发布一次新版本。在过去的3个版本中,我还获得了很多积极/建设性的用户反馈,并且许多功能得到了改进。您保存每个已执行查询的建议也将很快实施。如我所写-如果您想拥有一些特别的东西,请给我写一封电子邮件(support@ssmsboost.com)


太棒了:)我还没有机会开始测试一下我看到的某些功能(我对“格式查询”选项最感兴趣,其他情况除外),但是我绝对下载了它以将其安装在使用SSMS的任何位置。我会密切注意该更新。
WernerCD

我刚刚阅读了OP链接的您的文章,并认为我可以看一下示例。我安装了RTM版本的2012 Management Studio,但看不到SqlPackageBase.dll。在Google上也找不到很多对此的引用。确定要与SSMS一起安装吗?
马丁·史密斯

是的-它与SSMS一起安装。这是我的版本:Microsoft SQL Server Management Studio 11.0.2100.60 Microsoft数据访问组件(MDAC)6.1.7601.17514 Microsoft MSXML 3.0 4.0 6.0操作系统6.1.7601 Dll位于此文件夹中:C:\ Program Files(x86)\ Microsoft SQL Server \ 110 \ Tools \ Binn \ ManagementStudio \ SqlPackageBase.dll
Andrei Rantsevich 2012年

@AndreiRantsevich-啊,我也在路上x64,一直在C:\Program Files\Microsoft SQL Server\110\Tools\Binn\ManagementStudio谢谢!(可能值得在您陈述路径的文章中对此加以提及)
马丁·史密斯

仍然耐心地等待着您的发布:)
WernerCD

4

SQL Hunting Dog是另一个免费且非常好用且用户友好的替代方法。

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

它可与SQL Server Management Studio 2008/2012一起使用,并为您提供更好的导航(但是它的功能少于ssmstoolpack。)

小怎么


我喜欢这个样子。看起来很流畅而且很棒。似乎没有工具包所具有的“广度”,但是我真的很喜欢它所做的一些事情-看起来做得很好。
WernerCD

好吧,我不是要与工具包竞争。只是试图建立美观,流畅的导航和快速搜索。
AlexTheDeveloper 2013年

一项建议-我们在公司中使用许多数据库。如果该工具默认为当前查询窗口的数据库连接,那就太好了。或者可以选择默认使用特定数据库。
加布

1

它不是免费的,但SqlSmash还是SSMS 2012、2014的插件。

免责声明:我是该产品的开发人员

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.