Alternativa para o Pacote de Ferramentas SSMS [fechado]

18

Existem ferramentas disponíveis comparáveis ​​ao SSMS Tools Pack 2012 ? O licenciamento (US $ 30 por máquina, US $ 100 para qualquer número de máquinas ... por 3 meses) deixa muito a desejar e eu não tinha certeza de quais outras opções estão disponíveis.

Por exemplo, uma coisa que realmente sinto falta é a "Salvar todas as consultas que você executa". Ao mexer e pesquisar, é inestimável ter um backup em execução de diferentes versões de consultas, como eu as executo. Ou quando percebo que não tenho um backup de uma consulta em que estava trabalhando há 2 meses.

Esclarecimento: O SQL Server Management Studio não tem suporte oficial para complementos, mas existem algumas ferramentas por aí. O SSMS Tools Pack é um que eu mais gostei (versões de 2005, 2008), mas a taxa de licenciamento para 2012 é horrível. (Eu pagaria por uma licença razoável, mas essa não é a questão aqui.)

Eu encontrei o SSMS Boost, por exemplo, com algumas adições interessantes ao SSMS que parecem valer a pena.

Quais outros suplementos estão disponíveis para o SQL Server 2012? Eu adoraria ter algo que salve uma consulta ao pressionar F5, como o SSMS Tools Pack faz, ou qualquer coisa lá fora, além das duas ferramentas listadas?

WernerCD
fonte
1
Eu também tinha os mesmos pensamentos sobre custo. Existem alguns suplementos SSMS no codeplex, portanto, talvez não seja muito difícil ativar um suplemento "Salvar todas as consultas executadas" com base naqueles.
Martin Smith
@ MartinSmith Sim, eu publiquei o SSMS Boost - que também parece ter uma maneira rápida de criar suplementos, além de outros recursos interessantes. Eu não sou um para reinventar a roda, se eu não tenho muito, mas eu poderia ter de ir por esse caminho, se ele não está disponível: ssmsboost.com/...
WernerCD
1
Olá, sou o criador do SSMSBoost. Já temos o recurso "Salvar todas as consultas executadas" em andamento. Ele será lançado em aproximadamente 1 mês. Por favor, use nosso fórum para escrever seus requisitos / pontos que você deseja incluir nesse recurso. (ou escreva para [email protected])
Andrei Rantsevich
2
Olá, apenas para informar que adicionei novas opções de licenciamento ao SSMS Tools Pack. Envie-me um e-mail se você tiver alguma dúvida sobre isso. Se você não gostar, tenho certeza de que podemos resolver algo. :) Para ser sincero, o SSMSBoost parece bem legal.
Mladen Prajdic
@MladenPrajdic Serei honesto, gosto muito desse conjunto de termos. Na verdade, vou considerar a versão de US $ 100 (embora um pouco mais do que eu gostaria de gastar ... Estou acostumado a obter descontos de venda e / ou estudantes). Aguarde um e-mail em breve com algumas perguntas.
WernerCD

Respostas:

9

Eu pensei que iria jogar com isso e com o objetivo declarado de ter algo que "Salva todas as consultas que você executa" que funciona no SSMS do SQL Server 2012, isso parece fazer o trabalho na minha máquina (adicione seu próprio tratamento / teste de erros / reestruturação)

É baseado no projeto de amostra de Andrei com a Connectclasse substituída. O projeto SSMSAddin2012 no Codeplex também é muito útil.

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
    }
}
Martin Smith
fonte
1
Bem feito :) Na verdade, implementamos esse recurso - ele será lançado no SSMSBoost 2.7 (era muito curto para a v2.6, que será lançada neste final de semana). Então, depois de 2-4 semanas, ele estará on-line com algumas opções de personalização ...
Andrei Rantsevich 4/12
@AndreiRantsevich - Tenho certeza que o seu será muito mais completo! Eu só queria uma desculpa para brincar com Addins.
Martin Smith
Tenho o prazer de saber que você poderia usar meu projeto como start-up para criar sua amostra. Você usa SSMSBoost? Se você tiver algum desejo - envie-me um e-mail, considerarei implementá-los. Eu posso imaginar que você tem algo que deseja ter no SSMS, desde que tenha encontrado o projeto de exemplo :). Você pode dar uma olhada na notificação beta v2.6, que eu publiquei hoje - ela tem muitos novos recursos legais! ssmsboost.com/social/…
Andrei Rantsevich 4/12
@AndreiRantsevich - A única coisa que vem à mente no momento é provavelmente algo que poucas pessoas além de mim achariam útil. Gostaria de exportar o plano de execução como uma imagem com algumas das propriedades do operador anotadas na imagem. Provavelmente vou tentar isso sozinho.
Martin Smith
1
@WernerCD que aparece namespace no SqlWorkbench.Interfaces.dlle SqlPackageBase.dllambos estão em C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudiona minha máquina
Martin Smith
10

Mais algumas informações do desenvolvedor do SSMSBoost. Assim que você mencionou meu projeto, permito-me escrever algumas palavras sobre o projeto. A principal razão pela qual escrevi a ferramenta foi a falta de recursos de produtividade, relacionados ao desenvolvimento de T-SQL e tarefas orientadas a DBA. Por exemplo:

  1. comutação de conexão frequente entre diferentes servidores
  2. escrevendo 1000 vezes por dia "selecione * de" ...
  3. exportar resultados da grade para o excel / xml
  4. mantendo uma lista de conexões favoritas
  5. receber um aviso do SSMS ao conectar-se ao ambiente ao vivo

todas essas e algumas outras operações diárias são abordadas no SSMSBoost e são constantemente aprimoradas. Atualmente, eu lançamento uma nova versão a cada 30-40 dias. Nas últimas 3 versões, também recebi muitos comentários positivos / construtivos do usuário e muitos recursos foram aprimorados. Sua proposta para salvar todas as consultas executadas também será implementada em breve. Como escrevi - se você quiser algo especial, escreva-me um e-mail ([email protected])

Andrei Rantsevich
fonte
Impressionante :) Não tive a chance de começar a testar alguns dos recursos que vi (estou mais interessado na opção "consulta de formato", entre outros), mas definitivamente baixei-o para instalar onde uso o SSMS. Vou ficar de olho nessa atualização.
WernerCD 01/10/12
Acabei de ler o seu artigo vinculado pelo OP e pensei em dar uma olhada na amostra. Eu tenho a versão RTM do 2012 management studio instalada, mas não vejo SqlPackageBase.dll. Também não é possível encontrar muitas referências a isso no Google. Tem certeza de que ele deve ser instalado com o SSMS?
Martin Smith
Sim - ele é instalado com o SSMS. Aqui estão minhas versões: Microsoft SQL Server Management Studio 11.0.2100.60 Componentes de acesso a dados da Microsoft (MDAC) 6.1.7601.17514 Sistema operacional Microsoft MSXML 3.0 4.0 6.0 6.1 A DLL 6.1.7601 está localizada nesta pasta: C: \ Arquivos de programas (x86) \ Microsoft SQL Server \ 110 \ Tools \ Binn \ ManagementStudio \ SqlPackageBase.dll
Andrei Rantsevich
@AndreiRantsevich - Ah, eu também estou lá x64e estava olhando C:\Program Files\Microsoft SQL Server\110\Tools\Binn\ManagementStudioObrigado! (Pode valer a pena mencionar isso no artigo em que você indica os caminhos)
Martin Smith
Ainda esperando pacientemente por sua liberação btw :)
WernerCD
4

Outra alternativa gratuita, muito agradável e fácil de usar é o SQL Hunting Dog.

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

Ele funciona com o SQL Server Management Studio 2008/2012 e oferece uma navegação muito melhor (no entanto, possui menos recursos que o ssmstoolpack.)

pequeno como

AlexTheDeveloper
fonte
Eu gosto da aparência disso. Parece suave e incrível. Definitivamente, parece não ter a "amplitude" que os pacotes de ferramentas têm, mas eu realmente gosto das poucas coisas que faz - como parece fazê-las bem.
WernerCD
Bem, não estou tentando competir com o pacote de ferramentas. Apenas tentando criar uma navegação agradável e suave e pesquisa rápida.
AlexTheDeveloper
Uma sugestão - trabalhamos com muitos bancos de dados em nossa empresa. Seria ótimo se a ferramenta tivesse como padrão a conexão com o banco de dados da janela de consulta atual. Ou tem uma opção para usar como padrão um banco de dados específico.
Gabe
1

Não é gratuito, mas o SqlSmash também é um complemento para o SSMS 2012, 2014.

Isenção de responsabilidade: eu sou o desenvolvedor do produto

Latim
fonte