SQL Server Management Studio

от Уикипедия, свободната енциклопедия

SQL Server Management Studio(SSMS) – (Студио за управление на SQL Server) е софтуерно приложение, стартирано за първи път с Microsoft SQL Server 2005, което се използва за конфигуриране, управление и администриране на всички компоненти в SQL Server. То съчетава широка група от графични инструменти с голям брой текстови редактори, осигуряващи на разработчиците и администраторите всички нива на достъп до сървъра. Водещ елемент в SSMS е Object Explorer, който позволява на потребителя да търси, избира и да работи с всеки от обектите на сървъра. Приложението има и „експресна“ версия, която може да бъде изтеглена безплатно. [1]

История[редактиране | редактиране на кода]

Започвайки от версия 1.0, приложението е пренаписано в WPF, сходно с Visual Studio 2010.

През юни 2015 г. Microsoft обявява своето намерение да пусне бъдеща версия на SSMS, независима от базата данни на SQL Server.

На 1 април 2016 г. излиза новата версия, характеризираща се с по-добра съвместимост с предходни версии на SQL Server, със самостоятелен уеб инсталатор и известия в рамките на SSMS.

Microsoft SQL Server[редактиране | редактиране на кода]

Компании
Разработчици
* Microsoft* Sybase* Ashton-Tate
Версии 1.01.11.114.24.216.06.57.0• 2000 • 2005 • 2008 • 2008 R2 • 2012 • 2014 • 2016
Съкращения MSDEExpressWID
Мобилни 2005 Mobile Edition2005 Compact EditionCompact 3.5Compact 4.0
Специализирани SQL Azure
Услуги ReportingAnalysisIntegrationNotification
Помощни програми DTSManagement StudioBusiness Intelligence Development StudioSQLIOSim
Разновидности на SQL Transact-SQLSQL CLR
Допълнително SQL SlammerPASS

SQL Server Management Studio 2016[редактиране | редактиране на кода]

Подобрения[редактиране | редактиране на кода]

  • Бързо стартиране на лентата с инструменти и лесен достъп до елементите в менюто.
  • Подобрения в темите – добавяне и поддръжка на светлината в темите.
  • Подобрения в инсталирането на SSMS – възможност за инсталиране, без изискване на интернет връзка.
  • Подобрения в менюто с инструменти, относно преките пътища и бутони.
  • Оправени са бъгове, по шаблоните за нов проект – по-лесно четими имена на шаблони.
  • Подобрена е и скоростта в модула за зареждане[2]

Работа със студиото[редактиране | редактиране на кода]

Последната версия (2016 г.) работи с всички поддържани версии на SQL Server(2008 – 2016 г.), с последните версии на Azure и базата от данни на SQL Server. Някои от функциите може да не работят правилно при по-стари версии на SQL Server от (2000 до 2005 г.). Също така последната версия на приложението (2016 г.) може да бъде инсталирано едновременно с по-стари версии.[1]

Характеристики[редактиране | редактиране на кода]

Oсновни компоненти в SQL Server Management Studio, които се отнасят за версията на SQL Server 2016 Preview[редактиране | редактиране на кода]

SQL Server Management Studio поддържа повечето административни задачи за SQL сървър. SSMS представлява единна интегрирана среда както за управление на SQL Server Database Engine,[Notes 1] така и за създаване на програмни продукти. Диалоговите прозорци за управление на обекти в SQL Server Database Engine, както и услугите за анализи и доклади (Analysis Services и Reporting Services) позволяват незабавно изпълнение на действията, изпращане към кодовия редактор или написване на кода, като се остави изпълнението му за по-късен етап.

SQL Server Management Studio поддържа и немодални прозорци, които дават възможност за промяна на техните размери и позволяват достъп до различни инструменти, докато едновременно с това е отворен и друг диалогов прозорец. Има и общ диалогов прозорец, в който може да се направи график и позволява извършването на определени действия по управление на по-късен етап.

Също така има възможност да се експортват и импортват регистрации за сървъри от една Management Studio среда за разработка към друга. Функцията за запазване или принтиране на XML-версия на Showplan[Notes 2] или deadlock файлове, генерирани от SQL Server Profiler[Notes 3], дава възможност те да се прегледат на по-късен етап или да бъдат изпратени до администратор за допълнителен анализ.

В последната версия на SQL Server Management Studio са добавени нови съобщения за грешка и нови информационни съобщения, които дават много повече информация на потребителя и също така позволяват изпращане на коментар по тези съобщения до Microsoft. Отделно те могат да бъдат копирани в клипборда и по този начин лесно да бъдат изпратени до екипа по поддръжка.

Нова функционалност е интегрираният уеб браузър, с който може да се преглежда информацията в MSDN или да се ползва друга помощ, налична онлайн. В допълнение към това има ръководство за работа с приложението, а помощното меню е интегрирано с различни онлайн общности.

В новите версии на SQL Server Management Studio е добавен монитор за активностите, който дава възможност за филтриране и автоматично обновяване на данните. Интегрирани са и интерфейси за Database Mail, който позволява на приложенията, използващи бази от данни, да изпращат имейл съобщения до потребителите, съдържащи резултати от запитвания към базата данни (query results), файлове от различни ресурси в мрежата и др.

Редакторът на код в SQL Server Management Studio съдържа интегриран редактор за създаване на проекти от тип Transact-SQL, MDX, DMX, и XML/A. Той включва няколко основни подобрения, сред които богат набор от готови палитри и възможност за създаване на персонализирани такива, помощ при писане и редакция на запитвания към базата данни или скриптове без необходимост от връзка към сървъра, помощ при писане на SQLCMD запитвания и скриптове, нов интерфейс за преглеждане на резултати в XML-формат. Има също така интегрирана система за контрол на версиите на проекти (source control система), която поддържа съхраняване и обслужване на различните копия на скриптовете във времето, през което те са били променяни. Поддържа Microsoft IntelliSense за MDX-изрази.

Компонентът в SQL Server Management Studio, Object Explorer, е интегриран инструмент за преглед и управление на обектите за всички типове сървъри. Той включва филтър по име, част от име, схема или дата, асинхронно попълване на обекти с възможност за филтриране, базирано на метаданните на обектите. SQL Server Management Studio поддържа и добавянето на приставки, т.нар. add-ins/plug-ins, тъй като той е базиран на Visual Studio Isolated Shell[Notes 4]. Във времето различни потребители извън Microsoft са създавали приставки за SQL Server Management Studio. От Microsoft не ограничават това, но в същото време тези приставки не се поддържат от тях и е възможно да има проблеми със съвместимостта. Проблем може да възникне и от това, че Microsoft не публикува документация относно приставките на SQL Server Management Studio, въпреки което обаче има блогове и примерен код, който може помогне на потребителите в тази част.[3]

Инструменти[редактиране | редактиране на кода]

SQL Server Management Studio осигурява широк набор от мощни инструменти за всички фази на разработка и управление на проекта. Някои от тези инструменти могат да се използват при всякакви SQL Server компоненти, докато други са само за строго определени компоненти.

Инструменти за всички компоненти на SQL Server:

Solution Explorer[редактиране | редактиране на кода]

Solution Explorer – Съхранява и структурира скриптове (scripts), както и свързаната с тях информация в проекти, наречени SQL Server Scripts. Няколко SQL Server Scripts могат да се съхраняват като Solutions и може да се използва source control (контролен източник) за управление на скриптове, докато те се развиват с течение на времето. Този инструмент е достъпен от View menu.

Прозорецът на Solution Explorer в Microsoft SQL Server Management Studio предоставя контейнери (кутии), наречени проекти за управление на елементи, такива, каквито са скриптове за бази данни, заявки, връзки за данни и файлове. Един или повече проекти, които са свързани един с друг, могат да бъдат комбинирани в контейнер (кутия) наречен „solution“.

„Solution“ включва един или повече проекти, както и файлове и метаданни, които спомагат за определянето на solution като цяло. Един проект е набор от файлове, както и свързаните с тях метаданни, каквато е информацията за свързванията (connection information). Решенията (solutions) и проектите съдържат елементи, които представляват скриптове, заявки, информация за свързванията и файлове, които са необходими, за да се създаде database solution.

Ползите от използването на решения (solutions):

  • Осъществяване на source control (контрол) на заявки и скриптове.
  • Манипулиране настройките за съответния solution като цяло или за отделни проекти.
  • Управление на детайлите, свързани с файлове за управление, докато потребителят е съсредоточен върху предметите, които съставляват съответния solution за базата данни (database solution).
  • Добавя елементи, които са полезни за няколко проекта в даден solution, или в съответния solution, без отношение към елемент от който и да е от другите проекти.
  • Работи по различни файлове, които са независими от solutions и проекти.

Елементите, които се съдържат в проекти, зависят от типа на проекта и от това дали се използва SQL Server Studio Management.

Template Explorer[редактиране | редактиране на кода]

Създава заявки на базата на съществуващи шаблони. Потребителят може също така да създадете свои заявки или да промени съществуващите шаблони, за да отговарят на неговия сценарий. Този инструмент е достъпен от View menu.

SQL Server предлага разнообразие от шаблони. Шаблоните са шаблонни файлове, съдържащи SQL скриптове(SQL scripts), които помагат за създаването на обекти в база данни.

Предимства на шаблоните(Templates):

Шаблоните са подходящи за решения(solutions), проекти, както и за различни видове редактори на код. Шаблоните се използват за създаване на обекти като бази данни, таблици, изгледи, индекси, съхранителни процедури, тригери, статистики и функции. В допълнение, има шаблони, които да помагат при управлението на сървъра, чрез създаване на разширени свойства, свързани сървъри, данни за вход, потребители и шаблони за анализ на услугите.

Шаблонните сървъри (template scripts) предоставени с SQL Server Management Studio съдържат параметри, за да помогнат на потребителя да създадете свой код.

Редакторът на Database Engine Query също подкрепя кодови фрагменти, които могат да се добавят в определени места в скрипта.

Помощта за потребителите в SQL Server Management Studio е достъпна чрез Help-менюто и SQL Server Books Online. Помощното меню в Management Studio предлага няколко различни пътища за информация за SQL Server. То също така осигурява достъп до общности от потребители и MSDN ресурси, които преди не са били достъпни чрез Help раздела.

Помощен интерфейс:

How Do I[редактиране | редактиране на кода]

Осигурява йерархична група от свързани страници, които съдържат полезни теми по често възникващи въпроси в SQL Server. Съдържанието се организира спрямо компонент и въпрос.

Search[редактиране | редактиране на кода]

Търсене по теми със или без предварително избрани филтри. Search в SQL Server е отделен подпрозорец. Потребителите могат да подобряват своите критерии за търсене чрез една или повече предварително посочени теми, език или технологични филтри. Search по подразбиране не използва предварително дефинирани филтри и следователно търсенето се осъществява само в инсталираните колекции. Потребителите могат да включат онлайн ресурси в своето търсене като позволят „online Help“.

Dynamic Help[редактиране | редактиране на кода]

Автоматично показва на екрана връзки с информация по съответната тема, докато потребителят работи в Management Studio.

Help favourites[редактиране | редактиране на кода]

Съхранява маркирани от потребителя теми за по-лесен достъп след време.

Инструментите в SQL Server Management Studio работят заедно. Например възможно е да се регистрира сървър чрез Object Explorer или да се отвори SQL Editor прозорец, свързан със специфична база данни от Object Explorer.

Object Explorer[редактиране | редактиране на кода]

Конфигуриране и свързване с инстанция[редактиране | редактиране на кода]

Object Explorer e виден в Management Studio по подразбиране (или се активира от View менюто). Конфигурирането на Object Explorer се осъществява в Tools менюто (Options → SQL Server Object Explorer). Възможности при ползването на Object Explorer:

  • Скриване на системни обекти:

Съдържащите се системни обекти в йерархичния елемент (node) Databases на Object Explorer като системни бази данни могат да бъдат скрити ползвайки Tool менюто. Някои системни обекти обаче, като системни функции и системни типове данни, не се влияят от тези настройки.

  • Опции (Команди):
    Ползването на Object Explorer позволява от контекстното меню на таблиците и view-тата:
    • да се създават скриптове в Query Editor, които по подразбиране правят Select заявка на първите 1000 реда от дадена таблица.
    • да се отварят таблици във Visual Database Tools с 200 реда (по подразбиране) за редакция.
    • броят на редовете по подразбиране в може да се променя (в General Scripting Options).
  • Опции (Scripting Page):
    Могат да се настройват следните опции за скриптиране, които се прилагат към командите на контекстното меню на обект като:
    • Edit команди за потребителски таблици и view-та.
    • Script команди за създадени от потребителя обекти.
    • Modify команди за създадени от потребителя обекти.
    • Scripting Page също задава опциите за скриптиране по подразбиране за Generate SQL Server Script Wizard

Edit и Modify командите може да създават резултати, които са различни от Script командата за същата настройка.

Edit и Modify командите служат за промяна на обектите в текущата база данни по време на Query Editor сесията. Script командата има за цел да генерира скрипт, който може да бъде използван по-късно за създаване на обекти.

Свързване с инстанция от Object Explorer

Управлението на обекти посредством Object Explorer е възможно след свързване с инстанция, която съдържа обекти (Database Engine, Analysis Services, Reporting Services, Integration Services). Object Explorer може да бъде свързан с няколко инстанции едновременно.

Свързване на Object Explorer към сървър:

Ползването на Object Explorer изисква като начало свързване със сървър.

За свързване трябва да се предоставят най-малко името на сървъра и коректна информация за автентикация.

Могат да бъдат зададени и специфични настройки.

Относно Database Engine, например, са достъпни следните специфични настройки:

Настройка: Описание:
Свързване с база данни
(Connect to database)
Избира от достъпните база данни на сървъра. Този списък ще показва единствено база данните, до които имате разрешение да виждате.
Мрежов протокол
(Network protocol)
Избира от Shared Memory, TCP/IP, или Named Pipes.
Размер на мрежовите пакети
(Network packet size)
Конфигурира се в байтове. По подразбиране настройката е 4096 байта.
Крайно време за прекъсване на връзката
(Connection timeout)
Конфигурира се в секунди. По подразбиране настройката 15 секунди.
Крайно време за изпълнение
(Execution timeout)
Конфигурира се в секунди. Стойността по подразбиране (0) показва, че изпълнението никога няма да прекъсне.
Криптиране на връзката
(Encrypt connection)
Изисква криптиране

Управление на обекти[редактиране | редактиране на кода]

Object Explorer осигурява йерархичен потребителски интерфейс за преглеждане и управление на обектите във всяка инстанция на SQL Server. Възможностите на Object Explorer варират леко в зависимост от вида на сървъра, но обикновено включват функции за развитие на бази данни, както и функции за управление на всички видове SQL сървъри.

Object Explorer използва дървовидна структура за групиране на информацията в папки. При разширяване на определена папка за пръв път със знака(+), се изпраща заявка към сървъра за информацията необходима за разгръщане на дървото. С цел оптимизиране на ресурси съдържанието на папките в Object Explorer не се обновява автоматично, а това става чрез Refresh функцията. Чрез Object Explorer може да бъдат визуализирани до 65 536 обекта.

Чрез Object Explorer могат да се извършват още следните действия:

  • Отваряне на прозорец за създаване на заявки към определена база данни
  • Стартиране на PowerShell сесия
  • Търсене на обекти
  • Изтриване на обекти
  • Филтриране на обекти по дадени критерии

Някои обекти на база данни имат зависимости към други обекти. Object Dependencies General страницата, която може да бъде отворена за всеки обект съдържа, както списъка на обектите, които трябва да съществуват, за да функционира правилно избраният обект, така и обектите, които зависят от него.

Object Dependencies Advanced страницата за даден обект съдържа всички SQL Server бази данни и Integration Services обекти, зависещи от него. Тези обекти могат да се съхраняват на различни сървъри.

Зависимостите между два обекта могат да бъдат:

  • Schema-bound зависимост – връзка между два обекта, която възпрепятства изменението на реферирания обект, докато съществува обекта, който го реферира. А схема обвързана зависимост се създава, когато оглед или потребителски дефинирана функция е създадена с помощта на клаузата за със Schemabinding, или когато една маса референцията е друг обект чрез чек или по подразбиране ограничение или в определянето на изчислената колона.
  • Non-Schema-bound зависимост – не реферираните обекти от изменение.
  • Not Available или Unresolved Entity – може да се случи само, когато избраният обект е на инстанция на SQL Server, по ранна от 2008.
  • Object Explorer Details Pane – представлява потребителски интерфейс за управление на всички обекти в сървъра, като ги представя в табличен вид.

Персонализирани справки (Custom Reports)[редактиране | редактиране на кода]

В SQL Server Management Studio към много от йерархичните елементи (nodes) на Object Explorer са налице набори от стандартни справки, създадени от Microsoft. Тези справки обобщават обичайно заявявана информация от сървъра.

От SQL Server 2005 Service Pack 2 насам администраторите могат да правят справки, които са били създадени в SQL Server Data Tools (SSDT), от Management Studio.

Имплементация

Персонализираните справки се съхраняват като report definition (.rdl) файлове и са създадени чрез ползването на Report Definition Language (RDL). RDL съдържа информация за извличането и изгледа на данните за дадена справка в XML формат. RDL е отворена схема. Разработчиците могат да разширят RDL с допълнителни атрибути и елементи. Справките могат да изпълнят всяко валидна Transact-SQL команда в справката.

Ако Object Explorer е свързан със сървър, персонализирани справки могат да се извършват в контекста на текущата селекция в Object Explorer, ако справките се отнасят към параметрите за справка на този йерархичен елемент (node). Това позволява дадена справка да използва текущия контекст, каквато е текущата база данни; или постоянен контекст, като указване на определена база от данни като част от Transact-SQL команда, която се съдържа в персонализираната справка.

Ограничения

При работа с персонализирани справки следва да се имат предвид следните ограничения:

  • За да се избегне непреднамерено изпълнение на „вреден“ код, Management Studio не може да бъде конфигуриран автоматично да изпълнява справка, дори когато файловата система е конфигурирана да се асоциира с .rdl файлове с Management Studio. Справките не могат да бъдат програмно изпълнени в Management Studio и не могат да се стартират от командния ред чрез Management Studio.
  • Могат да бъдат пускани персонализирани справки в контекст, който не връща очакваните стойности. Например, можете да пуснете справка за репликация в контекста на база данни, която не е включена в репликацията, или да пуснете справка като потребител, който няма права на достъп до информацията, която се изисква за генериране на вярна справка. Създателят на персонализираната справка е отговорен за валидността на структурата и контекста на справката.
  • Не може да бъде добавяна персонализирана справка към списък от стандартни справки.
  • Кодът, обработен от справката, може да се отрази на производителността на сървъра.
  • Персонализираните справки не поддържат подсправки.
  • Командният текст за всяка заявка в справката не трябва да бъде дефиниран чрез израз.
  • Всеки параметър на заявката, който се ползва в командата (заявката) може да се отнася само до един параметър и не може да ползва никакви изразни оператори.
  • Само команди от типа Text и Stored Procedure се поддържат за командите (заявките) на справките.
  • Framework-ът за справки не предлага възможност за escape на параметрите на заявките. Авторите на заявките трябва да се уверят, че техните заявки не съдържат вмъкнати в SQL атаки (SQL injection attacks).
Управление на персонализирани справки

Препоръчително е потребителите, които имат множество персонализирани справки, да ги организират ползвайки папки във файловата система, които имат подходящи права в NTFS файловата система.

Източници[редактиране | редактиране на кода]

Бележки[редактиране | редактиране на кода]

  1. Основната услуга за съхраняване, обработка и защита на данни, която предоставя контролиран достъп и бърза обработка на транзакции, отговаряйки на изискванията и на най-взискателните приложения, които боравят с големи обеми от данни
  2. Графично представяне на това, как системата за обработка на запитвания (query engine) планира да оптимизира изпълнението на SQL израза.
  3. Интерфейс, който създава и проследява събития, които могат да бъдат анализирани и повтаряни на по-късен етап.
  4. The Visual Studio isolated shell позволява да се създават самостоятелни приложения, които могат да работят заедно с други версии на Visual Studio. Използва се основно за хостване на специализирани инструменти, използващи услуги на Visual Studio, но в същото време имат собствена визия и бранд.
  Тази страница частично или изцяло представлява превод на страницата SQL Server Management Studio в Уикипедия на английски. Оригиналният текст, както и този превод, са защитени от Лиценза „Криейтив Комънс – Признание – Споделяне на споделеното“, а за съдържание, създадено преди юни 2009 година – от Лиценза за свободна документация на ГНУ. Прегледайте историята на редакциите на оригиналната страница, както и на преводната страница, за да видите списъка на съавторите. ​

ВАЖНО: Този шаблон се отнася единствено до авторските права върху съдържанието на статията. Добавянето му не отменя изискването да се посочват конкретни източници на твърденията, които да бъдат благонадеждни.​