Система управления базами данных Microsoft Servers SQL

  • 26.04.2019

Системы управлении базами данных (СУБД) в последнее время стали неотъемлемой частью ИТ-инфраструктуры практически любой компании. Сейчас достаточно сложно найти компанию, которая бы не пользовалась системой 1С:Предприятие или какой-либо мощной ERP системой, такой как SAP или Microsoft Dynamics (CRM), которые используют СУБД для хранения своих данных. Почти все WEB-приложения используют СУБД для хранения информации о клиентах, наименований товаров и т.п. Если раньше СУБД использовались в основном для хранения текстовых и числовых данных, то сейчас в СУБД хранятся такие данные, как изображения, видеозаписи и многие другие типы данных. Объёмы баз данных в некоторых отраслях выросли до нескольких терабайт. Поэтому сейчас, как никогда ранее, повысились требования к надёжности и производительности систем управления базами данных. Лидирующие позиции на рынке среди СУБД занимает Microsoft SQL Server. Доля рынка Microsoft SQL Server, по данным Gartner, составляет 46,8%, остальная часть рынка принадлежит Oracle и IBM DB2, относительно небольшую часть рынка занимают СУБД Open Source, такие как Postgre и Firebird.

Microsoft SQL Server 2012 является новейшей и мощнейшей системой управления базами данных. Помимо стандартных для СУБД функций, SQL Server 2012 содержит большой набор интегрированных служб по анализу данных. Доступ к данным, расположенным на SQL Server могут получить любые приложения, разработанные на.Net и VisualStudio, а также приложения пакета Microsoft Office 2007. SQL Server 2012 обеспечивает высочайшую в своём классе масштабируемость, производительность и безопасность.

Microsoft SQL Server 2012 поддерживают более 15000 поставщиков программного обеспечения, его используют более 74,7% крупнейших компаний мира. Microsoft SQL Server 2012 используют практически все ERP и CRMсистемы, как SAP, Microsoft Dynamics, 1C: Предприятие, Microsoft CRM.

Платформа данных SQL Server

SQL Server 2012 предоставляет средства по созданию и управлению реляционными базами данных. Также SQL Server 2012 поддерживает новые средства аналитической обработки данных (Analysis Services), средства отчётности (Reporting Services), а также множество средств, упрощающих разработку приложений.

Ввиду того, что на SQL Server работают критические бизнес-приложения, предприятия выдвигают очень жёсткие требования по производительности, отказоустойчивости и безопасности самой СУБД.

Безопасноcть SQL Server 2012:

  • Интерактивное шифрование баз данных. SQL Server 2012 поддерживает прозрачное шифрование баз данных и журналов транзакций. Данная функция позволяет заказчику быть уверенным в том, что неправомочный доступ к данным компании невозможно будет получить, даже завладев сервером или системой хранения данных.
  • Поддержка PKI. SQL Server 2012 поддерживает инфраструктуру сертификатов. Доступ к данным можно ограничивать и шифровать при помощи сертификатов и аппаратных модулей защиты (TPM).
  • Интеграция с доменом ActiveDirectory. Доступ к данным можно разрешать по доменным пользователям и группам.
  • Аудит. SQL Server 2012 поддерживает аудит доступа к данным и контроль за осуществляемыми с базой данных действиями.

Отказоустойчивость SQL Server 2012:

  • Зеркалирование БД (Database Mirroring). Технология зеркалирования предполагает наличие одного активного сервера, с которым работают все клиенты, и одного зеркального сервера, на который происходит передача всех журналов транзакций и их применение к зеркальной БД. При отказе активного сервера, происходит переключение на зеркальный сервер. Это делается либо вручную, либо автоматически, при использовании сервера-наблюдателя (Witness). Таким образом обеспечивается отказоустойчивость БД, и в случае сбоя максимум, что теряется - это одна транзакция. При этом не требуется никакого специализированного кластерного оборудования или SAN-устройств. Но нужно учитывать, что данный метод не обеспечивает непрерывность функционирования, ввиду того, что переключение длится несколько секунд и обращения происходят к другому серверу с другим именем, а также не обеспечивается распределение нагрузки и снижается производительность. В SQL Server 2012 появилась функция автоматического восстановления повреждённых страниц с зеркального сервера, а также добавлена функция прозрачного перенаправления клиентов на зеркальный сервер.

Database Mirroring в SQL Server 2012

  • Кластеры высокой доступности (High Availability Cluster). Крупные компании, которым требуется непрерывность функционирования, постоянная доступность БД и распределение нагрузки, используют SQL Server 2012 в режиме кластера. SQL Server 2012 поддерживает 16-ти узловую кластеризацию, причём кроме кластеризации ядра СУБД, поддерживается также кластеризация Analysis Services, Notification Services и Replication Services. Кластер SQL Server 2012 позволяет обеспечить режим функционирования 24/7 для критических бизнес-приложений.

Двух узловой кластер на базе SQL Server 2012

Масштабируемость SQL Server 2012:

  • Горячее добавление памяти и процессоров. SQL Server 2012 позволяет не выключая и не перезагружая сервер добавлять в него оперативную память и процессоры (эта функция должна также поддерживаться и оборудованием).
  • Репликация БД. SQL Server 2012 позволяет создавать копии БД в удалённых филиалах. Поддерживаются различные механизмы репликации с использованием транзакций, слияния и моментальных снимков. Репликация может быть как односторонней, когда например, изменения из центрального офиса реплицируются в филиалы, так и двусторонней. SQL Server 2012 поддерживает распределённые приложения и гео-распределённую кластеризацию.
  • Распределение ресурсов (Resource Governor). SQL Server 2012 позволяет распределять ресурсы и назначать приоритет для различных задач. Эта функция позволяет избежать случаев резкого падения производительности всего сервера, и прерывания работы всех пользователей при выполнении одной какой-либо сложной задачи.
  • Поддержка архитектуры Intel Itanium. Для сверхвысоких нагрузок выпущена версия SQL Server 2012, работающая на RISC-серверах, построенных на платформе Intel Itanium (IA-64). Данная редакция SQL Server 2012 применяется в крупных ЦОД для обработки больших объёмов информации. SQL Server 2012 в редакции Itanium поддерживает 64 процессорных ядер и 2 терабайта оперативной памяти. Поддерживаются технологии горячего добавления/отключения процессора и памяти, также поддерживается технология отказоустойчивого зеркалирования памяти и 8-ми узловая кластеризация.

Построение кластера является достаточно сложной задачей. При построении кластера проводится сложный анализ бизнес-приложения, использующего СУБД, рассчитывается нагрузочная способность и требуемые ресурсы, прогнозируется рост БД и рост нагрузочной способности, в соответствии с этим планируется инфраструктура кластеров и подбирается оборудование. Компания ЛанКей обладает опытом построения кластеров SQL Server в ряде крупных компаний. Планирование и развёртывание кластеров SQL Server производят сертифицированные инженеры MCSE, MCDBA, MCTS: SQL Server.

Порой так хочется привести свои мысли в порядок, разложить их по полочкам. А еще лучше в алфавитной и тематической последовательности, чтобы, наконец, наступила ясность мышления. Теперь представьте, какой бы хаос творился в «электронных мозгах » любого компьютера без четкой структуризации всех данных и Microsoft SQL Server :

MS SQL Server

Данный программный продукт представляет собой систему управления базами данных (СУБД ) реляционного типа, разработанную корпорацией Microsoft . Для манипуляции данными используется специально разработанный язык Transact-SQL . Команды языка для выборки и модификации базы данных построены на основе структурированных запросов:


Реляционные базы данных построены на взаимосвязи всех структурных элементов, в том числе и за счет их вложенности. Реляционные базы данных имеют встроенную поддержку наиболее распространенных типов данных. Благодаря этому в SQL Server интегрирована поддержка программного структурирования данных с помощью триггеров и хранимых процедур.

Обзор возможностей MS SQL Server


СУБД является частью длинной цепочки специализированного программного обеспечения, которое корпорация Microsoft создала для разработчиков. А это значит, что все звенья этой цепи (приложения ) глубоко интегрированы между собой.

То есть их инструментарий легко взаимодействует между собой, что во многом упрощает процесс разработки и написания программного кода. Примером такой взаимосвязи является среда программирования MS Visual Studio . В ее инсталляционный пакет уже входит SQL Server Express Edition .

Конечно, это не единственная популярная СУБД на мировом рынке. Но именно она является более приемлемой для компьютеров, работающих под управлением Windows, за счет своей направленности именно на эту операционную систему. И не только из-за этого.

Преимущества MS SQL Server :

  • Обладает высокой степенью производительности и отказоустойчивости;
  • Является многопользовательской СУБД и работает по принципу «клиент-сервер »;

    Клиентская часть системы поддерживает создание пользовательских запросов и их отправку для обработки на сервер.

  • Тесная интеграция с операционной системой Windows ;
  • Поддержка удаленных подключений;
  • Поддержка популярных типов данных, а также возможность создания триггеров и хранимых процедур;
  • Встроенная поддержка ролей пользователей;
  • Расширенная функция резервного копирования баз данных;
  • Высокая степень защищенности;
  • Каждый выпуск включает в себя несколько специализированных редакций.

Эволюция SQL Server

Особенности этой популярной СУБД легче всего прослеживаются при рассмотрении истории эволюции всех ее версий. Более подробно мы остановимся лишь на тех выпусках, в которые разработчики вносили весомые и кардинальные изменения:

  • Microsoft SQL Server 1.0 – вышел еще в 1990 году. Уже тогда эксперты отмечали высокую скорость обработки данных, демонстрируемую даже при максимальной нагрузке в многопользовательском режиме работы;
  • SQL Server 6.0 – вышел в 1995 году. В этой версии впервые в мире была реализована поддержка курсоров и репликации данных;
  • SQL Server 2000 – в этой версии сервер получил полностью новый движок. Большая часть изменений коснулась лишь пользовательской стороны приложения;
  • SQL Server 2005 – увеличилась масштабируемость СУБД , во многом упростился процесс управления и администрирования. Был внедрен новый API для поддержки программной платформы .NET ;
  • Последующие выпуски – были направлены на развитие взаимодействия СУБД на уровне облачных технологий и средств бизнес-аналитики.

В базовый комплект системы входит несколько утилит для настройки SQL Server . К ним относятся:


Диспетчер конфигурации. Позволяет управлять всеми сетевыми настройками и службами сервера базы данных. Используется для настройки SQL Server внутри сети.


Утилита служит для настройки отправки отчетов об ошибках в службу поддержки Microsoft .


Используется для оптимизации работы сервера базы данных. То есть вы можете настроить функционирование SQL Server под свои нужды, включив или отключив определенные возможности и компоненты СУБД .

Набор утилит, входящих в Microsoft SQL Server , может отличаться в зависимости от версии и редакции программного пакета. Например, в версии 2008 года вы не найдете SQL Server Surface Area Configuration .

Запуск Microsoft SQL Server

Для примера будет использована версия сервера баз данных выпуска 2005 года. Запуск сервера можно произвести несколькими способами:

  • Через утилиту SQL Server Configuration Manager . В окне приложения слева выбираем «SQL Server 2005 Services », а справа — нужный нам экземпляр сервера БД . Отмечаем его и в подменю правой кнопки мыши выбираем «Start ».


  • С помощью среды SQL Server Management Studio Express . Она не входит в инсталляционный пакет редакции Express . Поэтому ее нужно скачивать отдельно с официального сайта Microsoft .

Для запуска сервера баз данных запускаем приложение. В диалоговом окне «Соединение с сервером » в поле «Имя сервера » выбираем нужный нам экземпляр. В поле «Проверка подлинности » оставляем значение «Проверка подлинности Windows ». И нажимаем на кнопку «Соединить »:


Основы администрирования SQL Server

Перед тем, как запустить MS SQL Server , нужно кратко ознакомиться с основными возможностями его настройки и администрирования. Начнем с более детального обзора нескольких утилит из состава СУБД :

  • SQL Server Surface Area Configuration – сюда следует обращаться, если нужно включить или отключить какую-либо возможность сервера баз данных. Внизу окна находятся два пункта: первый отвечает за сетевые параметры, а во втором можно активировать выключенную по умолчанию службу или функцию. Например, включить интеграцию с платформой .NET через запросы T-SQL :


  • SQL Server Management Studio – является основным средством администрирования. В этой среде реализована возможность настройки сервера и баз данных, как через интерфейс приложения, так и с помощью запросов на языке T-SQL .

Основные настройки можно осуществить через «Обозреватель объектов », отображающий слева в окне приложения все основные элементы сервера в виде древовидного списка. Самой важной является вкладка «Безопасность ». Через нее можно настроить права и роли пользователей и администраторов для основного сервера, или отдельно для каждой базы данных:


Основная часть настроек сервера баз данных доступна в окне «Свойства сервера ».

Последнее обновление: 24.06.2017

SQL Server является одной из наиболее популярных систем управления базами данных (СУБД) в мире. Данная СУБД подходит для самых различных проектов: от небольших приложений до больших высоконагруженных проектов.

SQL Server был создан компанией Microsoft. Первая версия вышла в 1987 году. А текущей версией является версия 16, которая вышла в 2016 году и которая будет использоваться в текущем руководстве.

SQL Server долгое время был исключительно системой управления базами данных для Windows, однако начиная с версии 16 эта система доступна и на Linux.

SQL Server характеризуется такими особенностями как:

    Производительность. SQL Server работает очень быстро.

    Надежность и безопасность. SQL Server предоставляет шифрование данных.

    Простота. С данной СУБД относительно легко работать и вести администрирование.

Центральным аспектом в MS SQL Server, как и в любой СУБД, является база данных. База данных представляет хранилище данных, организованных определенным способом. Нередко физически база данных представляет файл на жестком диске, хотя такое соответствие необязательно. Для хранения и администрирования баз данных применяются системы управления базами данных (database management system) или СУБД (DBMS). И как раз MS SQL Server является одной из такой СУБД.

Для организации баз данных MS SQL Server использует реляционную модель. Эта модель баз данных была разработана еще в 1970 году Эдгаром Коддом. А на сегодняшний день она фактически является стандартом для организации баз данных.

Реляционная модель предполагает хранение данных в виде таблиц, каждая из которых состоит из строк и столбцов. Каждая строка хранит отдельный объект, а в столбцах размещаются атрибуты этого объекта.

Для идентификации каждой строки в рамках таблицы применяется первичный ключ (primary key). В качестве первичного ключа может выступать один или несколько столбцов. Используя первичный ключ, мы можем ссылаться на определенную строку в таблице. Соответственно две строки не могут иметь один и тот же первичный ключ.

Через ключи одна таблица может быть связана с другой, то есть между двумя таблицами могут быть организованы связи. А сама таблица может быть представлена в виде отношения ("relation").

Для взаимодействия с базой данных применяется язык SQL (Structured Query Language). Клиент (например, внешняя программа) отправляет запрос на языке SQL посредством специального API. СУБД должным образом интерпретирует и выполняет запрос, а затем посылает клиенту результат выполнения.

Изначально язык SQL был разработан в компании IBM для системы баз данных, которая называлась System/R. При этом сам язык назывался SEQUEL (Structured English Query Language). Хотя в итоге ни база данных, ни сам язык не были впоследствии официально опубликованы, по традиции сам термин SQL нередко произносят как "сиквел".

В 1979 году компания Relational Software Inc. разработала первую систему управления баз данных, которая называлась Oracle и которая использовала язык SQL. В связи с успехом данного продукта компания была переименована в Oracle.

Впоследствии стали появляться другие системы баз данных, которые использовали SQL. В итоге в 1989 году Американский Национальный Институт Стандартов (ANSI) кодифицировал язык и опубликовал его первый стандарт. После этого стандарт периодически обновлялся и дополнялся. Последнее его обновление состоялось в 2011 году. Но несмотря на наличие стандарта нередко производители СУБД используют свои собственные реализации языка SQL, которые немного отличаются друг от друга.

Выделяются две разновидности языка SQL: PL-SQL и T-SQL. PL-SQL используется в таких СУБД как Oracle и MySQL. T-SQL (Transact-SQL) применяется в SQL Server. Собственно поэтому в рамках текущего руководства будет рассматриваться именно T-SQL.

В зависимости от задачи, которую выполняет команда T-SQL, он может принадлежать к одному из следующих типов:

    DDL (Data Definition Language / Язык определения данных). К этому типу относятся различные команды, которые создают базу данных, таблицы, индексы, хранимые процедуры и т.д. В общем определяют данные.

    В частности, к этому типу мы можем отнести следующие команды:

    • CREATE : создает объекты базы данных (саму базу даных, таблицы, индексы и т.д.)

      ALTER : изменяет объекты базы данных

      DROP : удаляет объекты базы данных

      TRUNCATE : удаляет все данные из таблиц

    DML (Data Manipulation Language / Язык манипуляции данными). К этому типу относят команды на выбору данных, их обновление, добавление, удаление - в общем все те команды, с помощью которыми мы можем управлять данными.

    К этому типу относятся следующие команды:

    • SELECT : извлекает данные из БД

      UPDATE : обновляет данные

      INSERT : добавляет новые данные

      DELETE : удаляет данные

    DCL (Data Control Language / Язык управления доступа к данным). К этому типу относят команды, которые управляют правами по доступу к данным. В частности, это следующие команды:

    • GRANT : предоставляет права для доступа к данным

      REVOKE : отзывает права на доступ к данным