Alternativa al pacchetto di strumenti SSMS [chiuso]


18

Esistono strumenti simili a SSMS Tools Pack 2012 ? Le licenze ($ 30 per macchina, $ 100 per qualsiasi numero di macchine ... per 3 mesi) lasciano molto a desiderare e non ero sicuro di quali altre opzioni sono disponibili.

Ad esempio, una cosa che mi manca davvero è "Salva tutte le query che esegui". Quando si armeggiano e si effettuano ricerche, è stato inestimabile avere un backup in esecuzione di diverse versioni di query mentre le eseguo. O quando mi rendo conto di non avere un backup di una query su cui stavo lavorando 2 mesi fa.

Chiarimento: SQL Server Management Studio non ha supporto aggiuntivo aggiuntivo, ma ci sono alcuni strumenti là fuori. Il pacchetto di strumenti SSMS è uno di quelli a cui sono molto affezionato (versioni 2005, 2008), ma il costo delle licenze per il 2012 è orribile. (Pagherei per una licenza ragionevole, ma non è questa la domanda qui.)

Ho trovato SSMS Boost, ad esempio, che ha alcune interessanti aggiunte a SSMS che sembrano valerne la pena.

Quali altri componenti aggiuntivi sono disponibili per SQL Server 2012? Mi piacerebbe avere qualcosa che salvi una query quando premo F5 come fa SSMS Tools Pack o qualsiasi altra cosa oltre ai due strumenti elencati?


1
Ho avuto gli stessi pensieri anche sui costi. Ci sono alcuni componenti aggiuntivi SSMS su codeplex, quindi forse buttare giù un componente aggiuntivo "Salva ogni query eseguita" basato su quelli potrebbe non essere troppo difficile.
Martin Smith,

@MartinSmith Sì, ho pubblicato SSMS Boost - che sembra avere anche una rapida idea di come creare componenti aggiuntivi, oltre ad altre interessanti funzionalità. Non sono io a reinventare la ruota se non ce l'ho, ma potrei dover seguire questa strada se non è disponibile: ssmsboost.com/…
WernerCD

1
Ciao, sono SSMSBoost creatore. È già in corso la funzione "Salva tutte le query che esegui", che verrà rilasciata entro circa 1 mese. Si prega di utilizzare il nostro forum per scrivere i requisiti / i punti che si desidera avere in questa funzione. (o scrivi a support@ssmsboost.com)
Andrei Rantsevich,

2
Ciao, solo per farti sapere che ho aggiunto nuove opzioni di licenza a SSMS Tools Pack. Inviami una email se hai domande a riguardo. Se non ti piace, sono sicuro che possiamo risolvere qualcosa. :) Ad essere sincero, SSMSBoost sembra piuttosto interessante.
Mladen Prajdic,

@MladenPrajdic Sarò onesto, mi piace molto questa serie di termini MOLTO. Prenderò effettivamente in considerazione la versione da $ 100 (anche se un po 'più di quanto mi piacerebbe spendere ... Sono abituato a ottenere sconti per la vendita e / o per gli studenti). Aspettatevi presto un'e-mail con un paio di domande.
WernerCD,

Risposte:


9

Ho pensato di provare con questo e per l'obiettivo dichiarato di avere qualcosa che "Salva ogni query che esegui" che funziona su SQL Server 2012 SSMS, questo sembra fare il lavoro sulla mia macchina (Aggiungi la tua gestione degli errori / test / refactoring)

È basato sul progetto di esempio di Andrei con la Connectclasse sostituita. Anche il progetto SSMSAddin2012 su Codeplex è molto utile.

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
Ben fatto :) In realtà abbiamo implementato questa funzione - arriverà in SSMSBoost 2.7 (era troppo breve per la versione 2.6 che uscirà questo fine settimana). Quindi, dopo 2-4 settimane sarà online con alcune opzioni di personalizzazione ...
Andrei Rantsevich,

@AndreiRantsevich - Sono sicuro che il tuo sarà molto più completo! Volevo solo una scusa per giocare con Addins.
Martin Smith,

Sono lieto di sapere che potresti utilizzare il mio progetto come start-up per creare il tuo campione. Usi SSMSBoost? Se hai dei desideri, mandami una e-mail che prenderò in considerazione per implementarli. Posso immaginare che tu abbia qualcosa, che vuoi avere in SSMS, per quanto hai trovato il progetto di esempio :). Puoi dare un'occhiata alla beta-notifica v2.6, che ho pubblicato oggi - ha molte nuove funzioni interessanti! ssmsboost.com/social/…
Andrei Rantsevich,

@AndreiRantsevich - L'unica cosa che mi viene in mente al momento è probabilmente qualcosa che poche altre persone a parte me troverebbero utile. Vorrei un modo per esportare il piano di esecuzione come immagine con alcune delle proprietà dell'operatore annotate sull'immagine. Probabilmente ci proverò io stesso.
Martin Smith,

1
@WernerCD Quello spazio dei nomi appare in SqlWorkbench.Interfaces.dlled SqlPackageBase.dllentrambi sono C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudiosulla mia macchina
Martin Smith

10

Altre informazioni dallo sviluppatore SSMSBoost. Non appena hai menzionato il mio progetto, mi permetto di scrivere alcune parole sul progetto. Il motivo principale per cui ho scritto lo strumento è che mi mancavano le funzionalità di produttività, riguardanti lo sviluppo di T-SQL e le attività orientate al DBA. Per esempio:

  1. commutazione frequente della connessione tra server diversi
  2. scrivendo 1000 volte al giorno "seleziona * da" ...
  3. esporta i risultati della griglia in Excel / XML
  4. mantenendo un elenco delle connessioni preferite
  5. con un avviso da SSMS durante la connessione all'ambiente live

tutte queste e alcune altre operazioni quotidiane sono risolte in SSMSBoost e sono state costantemente migliorate. Attualmente rilascio una nuova versione ogni 30-40 giorni. Nelle ultime 3 versioni ho anche ricevuto molti feedback positivi / costruttivi dell'utente e molte funzionalità sono state migliorate. La tua proposta di salvare ogni query eseguita verrà presto implementata. Come ho scritto - se vuoi avere qualcosa di speciale scrivimi una e-mail (support@ssmsboost.com)


Fantastico :) Non ho avuto la possibilità di iniziare a provare alcune delle funzionalità che ho visto (sono molto interessato all'opzione "query formato", tra gli altri), ma l'ho scaricato sicuramente per installarlo ovunque io usi SSMS. Terrò d'occhio per quell'aggiornamento.
WernerCD,

Ho appena letto il tuo articolo collegato all'OP e ho pensato di dare un'occhiata al campione. Ho installato la versione RTM del 2012 management studio ma vedi no SqlPackageBase.dll. Non riesco a trovare molti riferimenti a questo su Google. Sei sicuro che debba essere installato con SSMS?
Martin Smith,

Sì: è installato con SSMS. Ecco le mie versioni: Microsoft SQL Server Management Studio 11.0.2100.60 Microsoft Data Access Components (MDAC) 6.1.7601.17514 Sistema operativo Microsoft MSXML 3.0 4.0 6.0 6.1.7601 La DLL si trova in questa cartella: C: \ Programmi (x86) \ Microsoft SQL Server \ 110 \ Tools \ Binn \ ManagementStudio \ SqlPackageBase.dll
Andrei Rantsevich

@AndreiRantsevich - Ah, ci sono anch'io x64e stavo cercando C:\Program Files\Microsoft SQL Server\110\Tools\Binn\ManagementStudioGrazie! (Vale la pena menzionarlo nell'articolo in cui si indicano i percorsi)
Martin Smith,

Ancora aspettando pazientemente il tuo rilascio tra il :)
WernerCD,

4

Un'altra alternativa gratuita, molto piacevole e facile da usare è SQL Hunting Dog.

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

funziona con SQL Server Management Studio 2008/2012 e offre una navigazione molto migliore (tuttavia ha meno funzionalità di ssmstoolpack.)

piccolo come


Mi piace l'aspetto di questo. Sembra liscio e fantastico. Sicuramente non sembra avere l '"ampiezza" dei pacchetti di strumenti, ma mi piacciono molto le poche cose che fa - come sembra farle bene.
WernerCD,

Bene, non sto cercando di competere con il toolpack. Sto solo cercando di costruire una navigazione piacevole e fluida e una ricerca rapida.
AlexTheDeveloper il

Un suggerimento: lavoriamo con molti database nella nostra azienda. Sarebbe bello se lo strumento imponesse per impostazione predefinita la connessione al database della finestra delle query corrente. O hai un'opzione di default su un database specifico.
Gabe,

1

Non è gratuito ma SqlSmash è anche un componente aggiuntivo per SSMS 2012, 2014.

Disclaimer: sono lo sviluppatore del prodotto

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.