Что такое обозреватель sql server
служба «SQL Server, браузер»
Браузер SQL Server выполняется как служба Windows. SQL Server прослушивает входящие запросы к ресурсам Microsoft SQL Server и предоставляет сведения об экземплярах SQL Server, установленных на компьютере. SQL Server предназначен для выполнения трех задач:
просмотра списка доступных серверов;
соединения с нужным экземпляром сервера;
соединения с конечными точками через выделенное административное соединение (DAC).
Компонент Database Engine и Службы SSAS получают от службы «Браузер SQL Server» (sqlbrowser) имя и номер версии для каждого экземпляра. Браузер SQL Server устанавливается вместе с SQL Server.
Браузер SQL Server настраивается в ходе установки или с помощью диспетчера конфигурации SQL Server. По умолчанию служба «Браузер SQL Server» запускается автоматически:
при обновлении установки;
при установке в кластере;
при установке именованного экземпляра компонента Компонент Database Engine, включая все экземпляры SQL Server Express;
при установке именованного экземпляра служб Службы Analysis Services.
Историческая справка
Как работает служба «Обозреватель SQL Server»
После запуска SQL Server запускается браузер и пытается занять UDP-порт 1434. SQL Server читает реестр, находит все экземпляры SQL Server на данном компьютере и помечает используемые ими порты и именованные каналы. Если сервер имеет несколько сетевых плат, браузер SQL Server возвращает первый допустимый порт, который найден для SQL Server. SQL Server поддерживает протоколы ipv6 и ipv4.
При запросе клиентом SQL Server ресурсов SQL Server клиентская сетевая библиотека передает на сервер UDP-сообщение через порт 1434. SQL Server Браузер в ответ сообщает TCP/IP-порт или именованный канал запрошенного экземпляра. Затем сетевая библиотека клиентского приложения завершает соединение, отправляя запрос на сервер с указанием номера порта или имени канала, относящегося к нужному экземпляру.
Применение обозревателя SQL Server
Если какой-либо компонент пытается подключиться к именованному экземпляру без полного указания всех параметров (номера порта TCP/IP или именованного канала).
Если компонент формирует или сохраняет сведения о сервере и экземпляре, которые затем используются другими компонентами для повторного соединения.
При соединении с именованным экземпляром без указания номера порта или канала.
При использовании выделенного административного соединения с именованным экземпляром или экземпляром по умолчанию без использования порта TCP/IP 1433.
При использовании службы перенаправителя OLAP.
При перечислении серверов в среде SQL Server Management Studio, программе Enterprise Manager или Query Analizer.
Необходимо обновлять и поддерживать код клиентских приложений, чтобы они соединялись по соответствующим номерам портов.
Кластеризация
SQL Server не является кластеризованным ресурсом и не поддерживает отработку отказа с одного узла кластера на другой. Следовательно, при использовании кластера браузер SQL Server необходимо устанавливать и включать для каждого узла. При работе на кластерах браузер SQL Server прослушивает порт IP_ANY.
Если указан порт IP_ANY, при включении прослушивания на определенных IP-адресах пользователь должен настроить тот же TCP-порт на каждом из IP-адресов, поскольку браузер SQL Server возвращает каждую найденную пару «адрес-порт».
Установка, удаление и запуск из командной строки
По умолчанию браузер SQL Server устанавливается в C:\Program Files (x86)\Microsoft SQL Server\90\Shared\sqlbrowser.exe.
SQL Server В целях диагностики браузер можно запустить из командной строки с параметром -c :
Безопасность
Права доступа учетной записи
Запретить сетевой доступ к этому компьютеру.
Запретить локальный вход в систему.
Запретить вход в систему в качестве пакетного задания.
Запретить вход в систему через службы терминалов.
Вход в систему в качестве службы.
Учетная запись по умолчанию
Программа установки настраивает браузер SQL Server для использования учетной записи, выбранной для служб при установке. Можно указать другую учетную запись:
Учетная запись локальной службы
Учетная запись локальной системы (не рекомендуется за избыточностью прав доступа).
Скрытие экземпляра SQL Server
Применение брандмауэра
Для связи со службой браузера SQL Server на сервере, защищенном брандмауэром, в дополнение к TCP-порту SQL Server (например 1433) откройте UDP-порт 1434. Сведения о работе с брандмауэром см. в разделе «Практическое руководство. Настройка брандмауэра для доступа SQL Server» в документации по SQL Server.
Что такое обозреватель sql server
SqlCmd все о SQL технологиях.
Все что необходимо для изучения и работы с СУБД Microsoft SQL Server, MySQL, MariaDB, MongoDB. Авторские статьи, библиотека фрагментов T-SQL кода, сборник полезных инструментов.
Нужен ли нам сервис SQL Server Browser? Часть 1/3.
Добрый день, уважаемые читатели блога. Не столь давно, а именно в конце весны текущего года, автор данных строк и ваш покорный слуга читал очередной цикл лекций по SQL Server. Как всегда после доклада была масса вопросов, как непосредственно по прочитанной теме, так и вообще, «около SQL-ных». Часть этих вопросов в который уже раз привлекла внимание автора к явному недопониманию SQL-администраторами (в том числе имеющим значительный опыт работы с данной системой) назначения и принципов функционирования такого незаметного, но важного (как минимум, его положено считать таковым) сервиса как SQL Server Browser (или короче — SQL Browser). Зачем он нам вообще? Следует ли держать его включенным или выключенным? Есть ли ему альтернативы? Влияет ли на его поведение конкретная строка подключения, с которой клиент обращается к серверу? И так далее, и тому подобное. Изрядная часть упомянутых администраторов решает все указанные вопросы очень просто: «а как инсталлятор SQL сервера настроил, так оно и работает». Но это явно путь не истинных «SQL-гуру» вообще и не путь читателей блога sqlCMD.ru в частности. Нам, разумеется, нужно четкое и ясное представление о данном компоненте, о «физике» его работы и о критериях по которым мы можем принять взвешенное решение — запускать ли данный сервис автоматически, запускать его же лишь иногда вручную, либо попросту перевести его в состояние disable.
Конфигурация тестового стенда.
Вот такие три настройки релевантны теме нашей сегодняшней беседы. Все дальнейшие описания и обсуждения, в том числе касающиеся обещанного выше инструмента, ведутся именно для них. Если настройки вашего тестового стенда/производственной среды отличаются (а, надо думать, это практически гарантированный случай) вносите соответствующие корректировки в читаемый вами текст/код.
Немного теории.
Хотя статья заявлена как «чисто практическая» уж совсем без теории нам не обойтись — нужна же нам некая «отправная точка», верно? Так вот, давайте максимально сжато и кратко опишем проблематику вопроса.
Как известно, в мире вообще (и в рамках той организации где мы имеем удовольствие работать в частности) есть куча серверов, и не обязательно SQL. SQL Server, как всем хорошо известно, это лишь один из возможных (но совсем не обязательных) сервисов (Windows service) только могущих быть размещенных на этих серверах. Мы, как клиенты-потребители этих многочисленных сервисов, выбираем с каким физическим сервером нам хочется поработать указывая его IP-адрес в сети. Итак, клиент (то есть некое софт-приложение) выбирает конкретный сервер адресуясь к нему по соответствующему IP-адресу. Но — на физическом сервере может быть куча сервисов. Как клиенту обозначить себя как клиента именно SQL Server сервиса? А вот для этого тот самый клиент должен указать не только верный IP-адрес, но и номер порта на этом адресе. Причем сервис еще может выбирать какой порт ему «слушать», а вот клиент выбирать к какому ему порту подключаться — нет (разумеется мы предполагаем что клиенту нужны услуги строго предопределенного сервиса, а не любого какой первый подвернется). В этом смысле первый полностью предопределяет поведение второго. Скажем, в случае тестового стенда автора клиент должен указать IP=192.168.81.3 (см. сетевые настройки тестового стенда чуть выше) и порт=1433 (а об этом поговорим через предложение). Тогда всем и сразу ясно: клиент желает работать с сервером WINR2, с сервисом SQL Server, и причем именно с его экземпляром по умолчанию. Это все потому, что порт 1433 официально закреплен именно за программным продуктом SQL Server, причем уже внутри этого продукта порт закреплен за именно экземпляром по умолчанию. Произвела такое закрепление организация уполномоченная производить подобные операции, IANA (Internet Assigned Numbers Authority). Убедиться, что указанный порт действительно делегирован ею исключительно для нужд SQL Server можно в довольно-таки официальном документе Service Name and Transport Protocol Port Number Registry на сайте самой организации. Из этого документа ясно видно, что под нужды нашего главного героя, то бишь под SQL Server, зарезервированы два порта: 1433 и 1434. И причем каждый порт зарезервирован для двух транспортных протоколов — и для TCP, и для UDP. На текущий момент вам должно быть понятно назначение одной из четырех комбинаций: TCP/1433. Именно по этому протоколу и именно по этому порту каждый клиент обращается к сервису SQL Server и причем именно к экземпляру по умолчанию. Назначение прочих комбинаций протокол/порт станет ясно по ходу изложения материала.
Так вот, вплоть до версии SQL Server 2000 проблем с описанной архитектурой было ровно ноль. Поскольку экземпляров на одном физическом компьютере в те далекие года могло быть ровно 0 или 1, то этот самый единственный экземпляр (сейчас бы мы назвали его «дефолтовым», но тогда он ни в каких обозначениях не нуждался) прямо при инсталляции «садился» на порт 1433 и начинал «слушать» запросы клиентов. Последим же оставалось лишь указать правильный IP-адрес того физического компьютера где данный эксклюзивный экземпляр сервера обретался и — вуа-ля, работай себе на здоровье. С версии 2000 появилось само понятие «множественный экземпляры SQL Server». Да и сам термин «экземпляр» появился в те же дни, ведь до того, как вы уже поняли, термины «экземпляр» и «SQL Server» были эквивалентны и в особом обозначении первого нужды не было. Эти качественные (прежде всего) и количественные (во вторую очередь) изменения существенно подорвали стройную картину мира с единственным 1433-м портом. Ведь каждый экземпляр, как всем хорошо известно, это, на физическом уровне, свой отдельный Windows service. И клиент должен явно указать, желает ли он работать с условным SQL Server 1 (условный же Windows service для него обозначим как sqlsrv1), или же с не менее условным SQL Server 2 (сервис sqlsrv2). А как происходит дифференциация sqlsrv1 от sqlsrv2 при условии что они оба запущены на одном физическом компьютере? Правильно, уже ответили в первом абзаце текущего раздела: эти сервисы должны были «слушать» разные порты, а клиенты, соответственно, адресовать запросы именно на эти прослушиваемые порты.
Когда очертилась новая архитектура решили так: экземпляр по умолчанию — не трогаем вообще. Как он «садился» на 1433, так пусть и дальше поступает. И для клиентов, разумеется, ничего не изменилось. Но вот для любых именованных экземпляров встал вопрос такого сорта: какой порт назначить им? Зарезервировать для каждого такого экземпляра свой порт? Можно было б, но вот последние версии SQL Server позволяют ставить до 50-ти (!) экземпляров на одну машину. Если б каждый производитель софта резервировал бы порты «на всякий» и в таких объемах они б все (порты, а не софт-производители) были бы распределены еще в прошлом веке. И писать свои собственные сетевые сервисы/клиентов стало б решительно невозможно — где свободные порты брать? Поэтому поступили по-джентельменски: оставили официально «забитыми» лишь все те же два порта, 1433 и 1434. Для именованных же экземпляров порешили так:
В общем так или иначе, но если именованный экземпляр запустился — он определенно «оседлал» некий порт X. И вот тут нас ждет финальный вопрос ради которого и весь сыр-бор с SQL Browser и разыгрался: как быть клиентам желающим обратиться именно к именованному экземпляру? Ладно если DBA выбрал второй из двух возможных подходов, тогда такой статический порт можно сообщить клиенту, а именно и скорее всего программисту «ваяющему» этот клиент на одном из высокоуровневых языков программирования. Большой вопрос стоит ли вообще сообщать столь чувствительную информацию как номер порта, открытого в корпоративном файрволе (и как мы увидим далее на этот счет существуют разные точки зрения). Но это хоть возможно чисто технически. Ну а если выбран первый путь (который выбирается установщиком по умолчанию, между прочим)? Да тогда обычно и сам DBA не знает конкретного значения X! Он может, конечно, выяснить эту цифру, но что делать клиенту? Перекомпилироваться каждый раз при перезапуске сервиса (порт-то возможно сменился!)? Или, в лучшем случае, править клиентский ini-файл содержащий строку подключения? Это на пятистах-то рабочих станций? Не смешно.
Хорошо, посмотрим на проблему с такой стороны: если номер порта есть сущность «плавающая», то что бы избежать многократных перекомпиляций/редактирований ini-файла у клиента, вполне очевидно, должна быть более другая и стабильная сущность. Которая сохраняется (и гарантированно сохраняется!) сколько б сервис именованного экземпляра не перезапускали. И такая сущность есть! Зовется она именем экземпляра (instance name) и назначается, обыкновенно, один раз в жизни — в момент инсталляции этого самого экземпляра. Разумеется, и это имя не стоит размещать на билбордах города, однако имя экземпляра, несомненно, менее «хак-чувствительная» информация по сравнению с конкретным номером открытого порта. И вот ее уж точно можно (и даже, без вариантов, нужно) свободно сообщить программисту клиентского приложения. Однако и это еще не конец истории. Даже если клиент знает имя экземпляра это, само по себе, не поможет ему подключиться к требуемому сервису ни на йоту. Потому что «генеральное» правило пользования сервиса осталось все тем же: указать правильный IP-адрес для подключения к нужному компьютеру, плюс указать порт (а не какое-то там имя) для пользования услугами нужного сервиса в рамках этого компьютера. Ну IP-адрес (а точнее и скорее всего просто доменное имя) сервера с SQL Server наш программист, конечно, знает. А вот порта он как не знал, так и продолжает, даже если DBA сообщает ему корректное имя экземпляра.
В общем, вы уже догадались: нам нужен некто/нечто способное провести сопоставление (по нашему, по «IT-шному» — маппирование) «имя экземпляра» → «номер порта, этим экземпляром прослушиваемого». Так вот если сказать совсем по простому, то 99% функционала изучаемого нами сервиса SQL Browser предназначен для проведения именно такого маппирования. То есть, с совсем небольшой натяжкой можно сказать, что SQL Browser решает эксклюзивно единственную задачу: принять от клиента имя экземпляра и сообщить ему взамен номер порта, на котором тот экземпляр «сидит». Еще 1% функционала сводится к выдаче тем же сервисом списка всех экземпляров SQL Server на данном физическом компьютере, но, хотя мы и коснемся и этого функционала в дальнейшем материале, он совершенно точно является вторичным на фоне основной «мета-задачи» маппирования.
Инструмент тестирования.
Итак, как вы уже поняли из вводной части статьи, отключение сервиса SQL Browser может привести к одной единственной «маленькой» проблемке: ни один клиент не сможет подключиться к нашему SQL серверу. Может показаться, что проблемка в принципе касается лишь именованных экземпляров, и, в большой степени, это замечание справедливо. Однако, как будет показано далее, возможны проблемы и с экземпляром по умолчанию, правда лишь в весьма специфических условиях и особой конфигурации.
Под инструментом тестирования автор данных строк понимает некоторую программу позволяющую за несколько секунд убедиться — будет ли тот или иной клиент работать (или, более точно, как минимум подключаться) с указанным экземпляром в случае запущенного/остановленного сервиса SQL Browser. Сразу запомним себе правило:
Итак, вся суть тестирования упирается не более чем в «подсовывании» клиенту различных строк подключения и наблюдения за тем, что он нам скажет в ответ на попытку соединиться c SQL Server. Вполне понятно, что технически реализовать эту совсем простую задачу можно десятками (если не сотней) способов. Можно было взять банальный SQL Server Management Studio и использовать его как клиента подключающегося с различными connection strings. Не менее блестяще с той же задачей справилась бы утилита командной строки, чье имя дало название данному блогу. Однако, по ряду причин (среди которых и образовательная), автор решил создать супер-элементарное консольное приложение (Visual Studio у всех есть?), где требуемая строка подключения формируется редактированием трех констант — двух строковых и одной целочисленной. Разумеется, по вкусу, вы вольны переделать данный код таким образом, что бы значения брались из командной строки, или даже из внешнего файла конфигурации, однако автор стремился к абсолютному минимализму и вот что у него получилось:
using System ;
using System.Text ;
using System.Data.SqlClient ;
namespace TestSQLbrowser
<
class Program
<
const string instName = null ;
const string ipNum = «192.168.81.3» ;
const int portNum = 0 ;
Код настолько незатейлив, что будет понятен даже если «магическое» словосочетание «си-шарп» не говорит вам ровным счетом ничего. Наш главный предмет исследования, строка подключения, формируется в переменной conn и состоит из параметров этой строки разделенных точкой с запятой. Четыре параметра у нас имеют фиксированное значение, пробежимся сначала по ним:
К рассмотренным только что четырем статическим параметрам «приклеивается» параметр пятый, тот самый Data Source. Это, с большим опережением, самый важный параметр любой строки подключения, именно здесь задается целевой сервер (через IP, либо имя сервера) и, возможно, целевой порт. Значение данного параметра формируется в момент запуска нашего клиента из значений трех констант, а именно:
Для примера, комбинация значений трех разобранных констант
Использование проводника служебных программ для управления служебной программой SQL Server
Создание пункта управления программой
Перед использованием программы SQL Server необходимо создать пункт управления программой. Дополнительные сведения см. в статье Функции и задачи служебной программы SQL Server или Создание точки управления служебной программой SQL Server (служебная программа SQL Server Utility).
Регистрация экземпляра SQL Server или приложения уровня данных из обозревателя программ
Регистрация экземпляра SQL Server в программе SQL Server выполняется просто. В обозревателе программ щелкните правой кнопкой мыши узел Управляемые экземпляры и выберите команду Добавить управляемый экземпляр. Выполните шаги мастера, чтобы завершить операцию. Дополнительные сведения см. в статье Регистрация экземпляра SQL Server (служебная программа SQL Server Utility).
Чтобы развернуть приложение уровня данных на экземпляре SQL Server, управляемом в программе SQL Server, перейдите на вкладку Обозреватель объектов, раскройте узел Управление и щелкните правой кнопкой мыши элемент Приложения уровня данных. В меню правой кнопки мыши выберите команду Развернуть приложение уровня данных. Дополнительные сведения см. в статье Развертывание приложения уровня данных.
Отображение обозревателя программ
Просмотр объектов в обозревателе программ
Панель навигации служебной программы SQL Server
Щелкните правой кнопкой мыши узел пункта управления программой (UCP), чтобы обновить данные на панели управления.
Щелкните правой кнопкой мыши узел Развернутые приложения уровня данных в дереве, чтобы получить доступ к параметрам фильтра или обновить данные в списке.
Щелкните правой кнопкой мыши узел Управляемые экземпляры в представлении в виде дерева, чтобы добавить управляемые экземпляры SQL Server в служебную программу SQL Server, а также получить доступ к параметрам фильтра или обновить данные в списке.
Щелкните узел Администрирование программ в представлении в виде дерева, чтобы получить доступ к определениям глобальных политик для всех управляемых экземпляров SQL Server и развернутых приложений уровня данных, зарегистрированных в служебной программе SQL Server, просмотреть сведения об администрировании пункта управления программой и получить доступ к параметрам настройки хранилища данных управления служебной программы SQL Server. Дополнительные сведения см. в статье Администрирование программ (служебная программа SQL Server). Кроме того, с помощью элементов управления на вкладке Политика можно изменять чувствительность для сообщений о нарушениях политик. Дополнительные сведения см. в статье Уменьшение уровня шума в политиках загрузки ЦП (служебная программа SQL Server).
Щелкните правой кнопкой мыши узел Администрирование программ в дереве, чтобы обновить данные на панели содержимого.
Панель мониторинга служебной программы SQL Server
При выборе узла пункта управления программой в представлении в виде дерева обозревателя программ панель мониторинга служебной программы SQL Server в области содержимого обозревателя программ заполняется данными. На панели мониторинга представлены сводные данные о состоянии всех экземпляров SQL Server и приложений уровня данных, управляемых в служебной программе SQL Server, а также общем использовании хранилища для объектов, управляемых служебной программой SQL Server. Дополнительные сведения см. в статье Панель мониторинга программ (служебная программа SQL Server). Сведения о регистрации или удалении экземпляра SQL Server см. в статьях Регистрация экземпляра SQL Server (служебная программа SQL Server), Развертывание приложения уровня данных или Удаление экземпляра SQL Server с помощью служебной программы SQL Server.
Фильтрация списка объектов в области содержимого обозревателя программ
Запуск PowerShell
Сеанс PowerShell можно запустить, щелкнув любую папку или объект в дереве обозревателя объектов правой кнопкой мыши и выбрав пункт Запустить Powershell. В результате этого запускается сеанс PowerShell с поддержкой SQL Server PowerShell, в котором установлен путь к объекту, выбранному щелчком правой кнопкой мыши в обозревателе объектов. После этого можно вводить команды PowerShell в интерактивной среде PowerShell. Подробные сведения см. в статье SQL Server PowerShell.
В PowerShell отсутствует справка F1, но содержится командлет Get-Help, позволяющий получить сведения об использовании PowerShell. Дополнительные сведения об использовании Get-Help см. в статье Get Help SQL Server PowerShell.
Обзор функционала SQL Server Management Studio (SSMS)
Приветствую Вас на сайте Info-Comp.ru! Сегодня мы с Вами подробно рассмотрим функционал одного очень популярного инструмента для работы с Microsoft SQL Server — графической среды SQL Server Management Studio (SSMS).
Что такое SQL Server Management Studio
SQL Server Management Studio (SSMS) – это бесплатная графическая среда, включающая набор инструментов для разработки сценариев на T-SQL и управления инфраструктурой Microsoft SQL Server.
Среда SQL Server Management Studio – это основной, стандартный и полнофункциональный инструмент для работы с Microsoft SQL Server, разработанный компанией Microsoft, который предназначен как для разработчиков, так и для администраторов SQL Server.
С помощью SSMS Вы можете разрабатывать базы данных, выполнять инструкции T-SQL, а также администрировать Microsoft SQL Server.
Если в Ваши задачи входит полное сопровождение Microsoft SQL Server, начиная от создания баз данных, написания SQL запросов, создания хранимых процедур и функций, и заканчивая администрированием SQL Server, включая управление безопасностью, то основным Вашим инструментом будет как раз среда SQL Server Management Studio.
Среда SQL Server Management Studio реализована только под Windows, поэтому если Вам нужен инструмент для работы с Microsoft SQL Server, который будет работать на других платформах, например, на Linux или macOS, то Вам следует использовать инструмент Azure Data Studio, который также является официальным инструментом, разработанным компанией Microsoft.
Основной функционал SQL Server Management Studio
Теперь давайте рассмотрим функционал и возможности среды SQL Server Management Studio, иными словами, какие именно действия и операции мы можем выполнять, используя данный инструмент.
Сначала давайте посмотрим на общий перечень возможностей, которые нам предоставляет среда SQL Server Management Studio, а затем более подробно рассмотрим каждый пункт из этого перечня.
Подключение к службам SQL Server
С помощью SQL Server Management Studio мы можем подключаться не только к ядру СУБД, но и к другим компонентам SQL Server, например, к службам Analysis Services (SSAS), Integration Services (SSIS) и Reporting Services (SSRS).
Таким образом, мы можем управлять объектами служб Analysis Services, например, выполнять их резервное копирование и обработку, создавать скрипты для служб Analysis Services и выполнять другие операции.
Также используя Management Studio мы можем управлять пакетами SSIS, например, выполнять импорт и экспорт пакетов.
Кроме этого SSMS позволяет администрировать службы Reporting Services, т.е. управлять ролями, заданиями и так далее.
Обозреватель объектов
Обозреватель объектов среды SQL Server Management Studio – это графический пользовательский интерфейс для просмотра и управления объектами в каждом экземпляре SQL Server.
Обозреватель объектов Management Studio предоставляет интерфейс, в котором структура объектов сервера представлена в очень удобном иерархическом виде, напоминает что-то вроде файловой системы Windows, т.е. папки, подпапки, файлы и т.д.
Таким образом, с помощью обозревателя объектов мы легко можем посмотреть, какие базы данных, таблицы, функции, хранимые процедуры и другие объекты есть на SQL Server, включая пользователей, связанные серверы и так далее.
Обозреватель шаблонов
Шаблоны в SQL Server Management Studio – это файлы, содержащие стандартный SQL код, который предназначен для создания объектов на SQL Server.
Иными словами, это готовые SQL скрипты, содержащие заголовки SQL инструкций, в которые всего лишь необходимо подставить свои данные, например, имена объектов, чтобы создать тот или иной объект на SQL Server.
Обозреватель шаблонов Management Studio позволяет просматривать и использовать доступные шаблоны.
Таким образом, мы можем использовать шаблоны для создания или изменения таких объектов как:
Кроме этого, для часто выполняемых задач мы можем создать свои собственные пользовательские шаблоны, для случаев когда нет подходящего встроенного шаблона, и тем самым упростить и ускорить выполнение таких задач.
Редактор SQL кода
Основное назначение среды SQL Server Management Studio – это, конечно же, разработка, выполнение и отладка кода на T-SQL, иными словами, написание и выполнение SQL запросов и инструкций. Поэтому SSMS обладает современным и продвинутым редактором SQL кода, который поддерживает технологию IntelliSense, т.е. автодополнение, например, Вы начинаете писать первые буквы объекта, а редактор сам дописывает его, точнее, показывает возможные варианты окончания.
Кроме этого у редактора есть подсветка синтаксиса и другие полезные возможности.
Чтобы открыть редактор SQL кода в среде Management Studio, необходимо на панели инструментов нажать на кнопку «Создать запрос». Именно здесь пишутся и выполняются все SQL запросы и инструкции к базам данных.
Просмотр плана выполнения запроса
План выполнения запроса – это последовательность операций, выполняемых внутри SQL Server, которые необходимы для получения результата SQL запроса.
Прежде чем выполнить SQL запрос SQL Server должен проанализировать инструкции и определить наиболее эффективный способ доступа к данным.
Этот анализ выполняется компонентом, который называется «Оптимизатор запросов». Входные данные оптимизатора запросов как раз и являются планом выполнения запроса.
SQL Server Management Studio позволяет просматривать план выполнения запроса и тем самым выявлять наиболее ресурсоемкие операции в запросе с целью оптимизации скорости выполнения этого запроса.
Чтобы показать план выполнения запроса, необходимо на панели нажать на иконку «Показать предлагаемый план выполнения».
Обозреватель решений
Решение в SQL Server Management Studio – это набор из одного или нескольких взаимосвязанных проектов.
Проекты в SQL Server Management Studio – это контейнеры для организации взаимосвязанных файлов, например, файлов с SQL инструкциями, которые используются при разработке того или иного функционала в базах данных.
Обозреватель решений в Management Studio создан как раз для того, чтобы управлять всеми решениями и проектами.
Таким образом, с помощью «Обозревателя решений» мы можем все свои SQL скрипты сгруппировать в проект, тем самым систематизировать все файлы и иметь к ним более удобный доступ.
Конструктор таблиц
Конструктор таблиц – это визуальный инструмент для разработки таблиц в базах данных.
С помощью конструктора таблиц SQL Server Management Studio можно создавать, редактировать и удалять:
Таким образом, благодаря функционалу конструктора таблиц мы может создавать и редактировать таблицы базы данных, при этом даже не используя язык SQL.
Конструктор баз данных (Диаграммы баз данных)
Конструктор баз данных — это визуальный инструмент для разработки баз данных, который позволяет конструировать и визуализировать базу данных, с которой установлено соединение.
Конструктор баз данных можно использовать для создания, редактирования и удаления таблиц, столбцов, ключей, индексов, связей и ограничений.
Кроме этого конструктор позволяет визуализировать базу данных, т.е. создать ER-диаграмму базы данных. Можно создать как одну, так и несколько диаграмм, иллюстрирующих некоторые или все имеющиеся в ней таблицы, столбцы, ключи и связи.
Чтобы запустить конструктор баз данных и создать диаграмму базы данных, необходимо в обозревателе объектов щелкнуть правой кнопкой мыши по контейнеру «Диаграммы баз данных» и выбрать пункт «Создать диаграмму базы данных».
Конструктор запросов и представлений
Конструктор запросов и представлений – это визуальный инструмент для разработки запросов и представлений.
В данном конструкторе доступно 4 панели:
Таким образом, с помощью данного конструктора можно конструировать запросы к базе данных, при этом используя только мышку.
Чтобы открыть конструктор запросов, необходимо в редакторе запросов щелкнуть правой кнопкой мыши в любом месте и выбрать пункт «Создать запрос в редакторе», кстати, можно выделить существующий SQL запрос, если он есть, и точно также создать запрос в редакторе, в этом случае конструктор автоматически визуализирует данный SQL запрос.
Чтобы открыть конструктор представлений, необходимо в обозревателе щелкнуть правой кнопкой мыши по нужному представлению и выбрать пункт «Разработка».
Просмотр свойств объектов
Среда SQL Server Management Studio позволяет просматривать и изменять свойства объектов SQL Server в обозревателе объектов.
Практически у каждого объекта на SQL Server есть свойства, которые как раз и можно изменить с помощью графических инструментов среды SQL Server Management Studio или просто посмотреть.
Например, для редактирования свойств базы данных необходимо в обозревателе объектов выбрать базу, щелкнуть по ней правой кнопкой мыши и выбрать «Свойства».
Мастер создания скриптов
В SQL Server Management Studio есть очень полезный функционал, который позволяет сгенерировать скрипт создания объектов базы данных, чтобы, например, использовать этот скрипт на другом экземпляре SQL Server для создания точно таких же объектов.
SQL скрипт объекта базы данных – это SQL инструкция, с помощью которой создается этот объект, сохраненная в текстовом файле.
С помощью данного мастера мы можем очень легко сгенерировать SQL скрипт создания практически любого объекта на SQL Server.
Такой скрипт может включать:
Такие SQL скрипты могут быть очень полезны администраторам или разработчикам, например, для того, чтобы в случае необходимости иметь возможность быстро восстановить объекты базы данных с помощью этих скриптов, или для того, чтобы передать эти SQL скрипты другому администратору, разработчику или заказчику, чтобы он создал подобные объекты на своем экземпляре SQL Server.
Таким образом, с помощью данного мастера мы можем создать некий дамп базы данных, содержащий SQL скрипты создания объектов этой базы данных и наполнения их данными.
Управление безопасностью SQL Server
Среда SQL Server Management Studio позволяет не только разрабатывать и выполнять T-SQL код, но управлять SQL сервером, в частности управлять безопасностью сервера.
С помощью SSMS можно создавать имена входа на сервер, пользователей баз данных, а также настраивать доступ к объектам сервера.
Для управления безопасностью на уровне сервера необходимо зайти в контейнер «Безопасность», для управления безопасностью базы данных необходимо зайти в одноимённый контейнер на уровне базы данных.
Присоединение и отсоединение баз данных
В среде SQL Server Management Studio есть визуальный инструмент для отсоединения и присоединения баз данных (detach, attach). Таким образом, если у Вас возникла необходимость, например, отсоединить базу данных и перенести ее на другой сервер, то это можно очень легко сделать с помощью SSMS.
Чтобы присоединить базу данных, необходимо вызвать контекстное меню у контейнера «Базы данных» и выбрать пункт «Присоединить».
Создание резервных копий баз данных и восстановление баз данных из архива
С помощью SQL Server Management Studio можно, используя графический интерфейс, создавать резервные копии баз данных, а также восстанавливать базы из этих резервных копий.
Создание связанных серверов (Linked Server)
В SQL Server Management Studio кроме всего прочего есть графические инструменты для создания связанных серверов.
Монитор активности SQL Server
Монитор активности – это инструмент, который отображает сведения о текущих процессах в SQL Server.
С помощью данного монитора мы можем отслеживать активность на сервере, например, мы можем видеть, какие SQL запросы и инструкции в данный момент выполняются, какие пользователи подключены к SQL Server и так далее.
Для запуска монитора активности необходимо щелкнуть правой кнопкой мыши по серверу в обозревателе объектов и выбрать пункт «Монитор активности» или кликнуть на иконку на панели инструментов.
Монитор активности представляет собой окно с развертываемыми панелями, которые отображают: общие сведения в виде графиков, процессы, ожидающие ресурсы, ввод-вывод в файл данных, последние ресурсоемкие запросы и активные ресурсоемкие запросы.
Настройка репликации баз данных
В среде SQL Server Management Studio есть графический инструмент для настройки репликации баз данных.
В обозревателе объектов контейнер так и называется «Репликация».
Профилировщик XEvent
Профилировщик XEvent – это компонент SQL Server Management Studio, который отображает динамическое окно просмотра расширенных событий.
Профилировщик позволяет получить быстрый доступ к динамическому потоковому представлению диагностических событий в SQL Server, например, с целью выявления различных проблем.
Вот мы с Вами и рассмотрели основные возможности и функционал среды SQL Server Management Studio, конечно же, есть и другой полезный функционал, однако уместить все в одной статье не получится, поэтому на сегодня это все, надеюсь, материал был Вам интересен и полезен, пока!