Альтернатива пакета інструментів SSMS [закрито]


18

Чи є там інструменти, порівнянні з SSMS Tools Pack 2012 ? Ліцензування (30 доларів за машину, 100 доларів для будь-якої кількості машин… протягом 3 місяців) залишає бажати кращого, і я не був впевнений, які інші варіанти є.

Наприклад, одне, що мені дуже не вистачає, - це "Зберегти кожен запущений запит". Під час майстерності та дослідження, неодмінно було мати резервну копію різних версій запитів під час їх запуску. Або коли я зрозумію, що у мене немає резервної копії запиту, над яким я працював 2 місяці тому.

Уточнення: у студії управління SQL Server немає офіційної підтримки для додатків, але є деякі інструменти там. Пакет інструментів SSMS - це той, який мені дуже сподобався (версії 2005, 2008 рр.), Але плата за ліцензування за 2012 рік - жахлива. (Я заплатив би за розумну ліцензію, але це не питання тут.)

Наприклад, я знайшов SSMS Boost, який має кілька цікавих доповнень до SSMS, які здаються вартими.

Які ще додатки доступні для SQL Server 2012? Я хотів би мати щось, що економить запит, коли я натискаю F5, як SSMS Tools Pack, чи щось там, крім двох перерахованих інструментів?


1
У мене були такі ж думки і щодо вартості. У кодеплексі є кілька надбудок SSMS, тому, можливо, збивання додатка "Зберегти кожен запит" на основі цих може бути не надто важким.
Мартін Сміт

@MartinSmith Так, я розмістив SSMS Boost - який, здається, також має швидкий досвід створення додатків, а також інших цікавих функцій. Я не один, щоб винаходити колесо, якщо у мене теж немає, але, можливо, мені доведеться пройти цей маршрут, якщо він недоступний: ssmsboost.com/…
WernerCD

1
Привіт, я творець SSMSBoost. У нас уже функція "Зберегти кожен запит, який ви запускаєте", вона буде випущена протягом приблизно 1 місяця. Будь ласка, використовуйте наш форум, щоб написати свої вимоги / пункти, які ви хочете мати в цій функції. (або пишіть на support@ssmsboost.com)
Андрій Ранцевич

2
Привіт, просто повідомляю, що я додав нові можливості ліцензування до пакету інструментів SSMS. Надішліть мені електронний лист, якщо у вас є якісь питання щодо нього. Якщо вам це не подобається, я впевнений, що ми можемо щось розробити. :) Якщо чесно, SSMSBoost виглядає дуже круто.
Младен Прайдич

@MladenPrajdic Я чесно кажу, мені подобається цей набір термінів МНОГО краще. Я фактично розглядаю версію на 100 доларів (хоча трохи більше, ніж я хотів би витратити ... Я звик отримувати розпродажі та / або знижки для студентів, хай). Очікуйте електронного листа незабаром з парою питань.
WernerCD

Відповіді:


9

Я подумав, що я зіграю з цим і для поставленої мети створити щось, що "Зберігає кожен запит, який ви запускаєте", що працює на SQL Server 2012 SSMS. Здається, це зробити роботу на моїй машині (Додати власну обробку / тестування помилок / рефакторинг)

Це заснований на зразковому проекті Андрія із Connectзаміненим класом. Проект SSMSAddin2012 на Codeplex також дуже корисний.

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 тижні він буде в мережі з деякими параметрами налаштування ...
Андрій Ранцевич,

@AndreiRantsevich - Я впевнений, що твій буде набагато повнішим! Я просто хотів відмовити, щоб пограти з Аддіном.
Мартін Сміт

Мені приємно знати, що ви можете використовувати мій проект як стартап для створення вашого зразка. Чи використовуєте ви SSMSBoost? Якщо у вас є побажання - надішліть мені електронний лист, я розглядаю їх виконання. Я можу уявити, що у вас є щось, ви хочете мати в SSMS, наскільки ви знайшли зразок проекту :). Ви можете подивитися на версію бета-сповіщення v2.6, яку я опублікував сьогодні - вона має багато нових приємних функцій! ssmsboost.com/social/…
Андрій Ранцевич

@AndreiRantsevich - Єдине, що зараз спадає на думку, - це, мабуть, щось мало хто, крім мене, знайде корисним. Я хотів би спосіб експорту плану виконання у вигляді зображення з деякими властивостями оператора, анотованих до зображення. Я, мабуть, сам піду на це.
Мартін Сміт

1
@WernerCD Це простір імен з'являється в SqlWorkbench.Interfaces.dllі SqlPackageBase.dllобидва з яких знаходяться в C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudioна моїй машині
Martin Smith

10

Ще трохи інформації від розробника SSMSBoost. Як тільки ви згадали про мій проект, я дозволяю собі написати кілька слів про проект. Основною причиною написання інструменту було те, що я пропустив функції продуктивності, що стосуються T-SQL Development та задач, орієнтованих на DBA. Наприклад:

  1. часта комутація з'єднання між різними серверами
  2. писати 1000 разів на день "вибрати * з" ...
  3. результати експорту сітки до excel / xml
  4. ведення списку улюблених з'єднань
  5. наявність попередження від SSMS під час підключення до живого середовища

всі ці та деякі інші щоденні операції розглядаються в SSMSBoost і постійно вдосконалюються. В даний час я випускаю нову версію кожні 30-40 днів. За останні 3 версії я також отримав багато позитивних / конструктивних відгуків користувачів і багато функцій було вдосконалено. Ваша пропозиція зберегти кожен виконаний запит також буде незабаром реалізована. Як я писав - якщо ви хочете мати щось особливе, напишіть мені електронний лист (support@ssmsboost.com)


Дивовижно :) У мене не було можливості почати тестувати деякі функції, які я бачив (мене найбільше цікавить варіант "запит формату", серед інших), але я напевно завантажив його, щоб встановити, де б я не використовував SSMS. Я буду стежити за цим оновленням.
WernerCD

Я щойно прочитав вашу статтю, пов’язану з ОП, і подумав, що перегляну зразок. У мене встановлена ​​RTM версія 2012 року студії управління, але дивіться ні 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 \ Інструменти \ Binn \ ManagementStudio \ SqlPackageBase.dll
Андрій Ранцевич

@AndreiRantsevich - Ах, я x64так добре і шукав C:\Program Files\Microsoft SQL Server\110\Tools\Binn\ManagementStudioподяку! (Можливо, варто згадати про це у статті, де ви констатуєте шляхи)
Мартін Сміт

Ще терпляче чекаю вашого звільнення btw :)
WernerCD

4

Ще одна безкоштовна і дуже приємна і зручна в користуванні альтернатива - SQL Hunting Dog.

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

вона працює з студією управління SQL Server 2008/2012 і дає вам набагато кращу навігацію (однак вона має менше функцій, ніж ssmstoolpack.)

малий як


Мені подобається зовнішній вигляд цього. Виглядає гладко і приголомшливо. Очевидно, що не має «широти», яку мають пакети інструментів, але мені дуже подобаються декілька речей, які вони роблять - як це здається, вони роблять їх добре.
WernerCD

Ну, я не намагаюся конкурувати з набором інструментів. Просто намагаюся створити приємну та плавну навігацію та швидкий пошук.
AlexTheDeveloper

Одна пропозиція - ми працюємо з багатьма базами даних в нашій компанії. Було б чудово, якби інструмент за замовчуванням встановив підключення до бази даних поточного Вікна запитів. Або мати можливість за замовчуванням для певної бази даних.
Гейб

1

Це не безкоштовно, але SqlSmash також є доповненням до SSMS 2012, 2014.

Відмова: Я розробник продукту

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.