sql server что это за программа и нужна ли она
Как настроить и запустить Microsoft SQL Server
Порой так хочется привести свои мысли в порядок, разложить их по полочкам. А еще лучше в алфавитной и тематической последовательности, чтобы, наконец, наступила ясность мышления. Теперь представьте, какой бы хаос творился в « электронных мозгах » любого компьютера без четкой структуризации всех данных и Microsoft SQL Server :
MS SQL Server
Реляционные базы данных построены на взаимосвязи всех структурных элементов, в том числе и за счет их вложенности. Реляционные базы данных имеют встроенную поддержку наиболее распространенных типов данных. Благодаря этому в SQL Server интегрирована поддержка программного структурирования данных с помощью триггеров и хранимых процедур.
Обзор возможностей MS SQL Server
СУБД является частью длинной цепочки специализированного программного обеспечения, которое корпорация Microsoft создала для разработчиков. А это значит, что все звенья этой цепи ( приложения ) глубоко интегрированы между собой.
Конечно, это не единственная популярная СУБД на мировом рынке. Но именно она является более приемлемой для компьютеров, работающих под управлением Windows, за счет своей направленности именно на эту операционную систему. И не только из-за этого.
Преимущества MS SQL Server :
Клиентская часть системы поддерживает создание пользовательских запросов и их отправку для обработки на сервер.
Эволюция SQL Server
Особенности этой популярной СУБД легче всего прослеживаются при рассмотрении истории эволюции всех ее версий. Более подробно мы остановимся лишь на тех выпусках, в которые разработчики вносили весомые и кардинальные изменения:
Диспетчер конфигурации. Позволяет управлять всеми сетевыми настройками и службами сервера базы данных. Используется для настройки SQL Server внутри сети.
Запуск Microsoft SQL Server
Для примера будет использована версия сервера баз данных выпуска 2005 года. Запуск сервера можно произвести несколькими способами:
Для запуска сервера баз данных запускаем приложение. В диалоговом окне « Соединение с сервером » в поле « Имя сервера » выбираем нужный нам экземпляр. В поле « Проверка подлинности » оставляем значение « Проверка подлинности Windows ». И нажимаем на кнопку « Соединить »:
Основы администрирования SQL Server
Основные настройки можно осуществить через « Обозреватель объектов », отображающий слева в окне приложения все основные элементы сервера в виде древовидного списка. Самой важной является вкладка « Безопасность ». Через нее можно настроить права и роли пользователей и администраторов для основного сервера, или отдельно для каждой базы данных:
Основная часть настроек сервера баз данных доступна в окне « Свойства сервера »:
10 причин почему именно сейчас стоит попробовать Microsoft SQL Server
Причина №1 — Microsoft SQL Server теперь работает и под Linux
16 ноября 2016 года Microsoft опубликовал первую публичную кросплатформенную версию SQL Server VNext, которая теперь работает и под Linux: Public preview of the next release of SQL Server — Bring the performance and security of SQL Server to Linux and Windows
Билд | Версия setup.exe | Ветка | KB / Описание | Дата релиза |
---|---|---|---|---|
14.0.1.246 | 2016.140.1.246 | CTP | Microsoft SQL Server vNext Community Technology Preview 1 (CTP1) (Linux support) | 2016-11-16 |
Скачать дистрибутив для Windows можно по прямой ссылке без регистрации.
Причина №2 — Microsoft SQL Server Developer Edition бесплатен для разработки и тестирования
В апреле 2016 года Microsoft наконец-то сделала бесплатной версию для разработчиков, которая по своему функционалу полностью совпадает с Enterprise. До этого стоимость одной разработческой лицензии была в районе 2-3 тысяч рублей.
При этом фактически Microsoft разрешает использовать Developer Edition 2016 и для тестирования, подробнее это описано в данной статье Is User Acceptance Testing Covered Under Developer Edition?
Для того, чтобы скачать собственную версию SQL Server Developer Edition необходимо просто присоединиться к программе Visual Studio Dev Essentials. После регистрации по ссылке будут доступны следующие дистрибутивы для установки:
Версия | Дата релиза | Размер, Мб | SHA1 |
---|---|---|---|
SQL Server 2016 Developer (x64) — DVD (English) | 2016-06-01 | 2103 | 1B23982FE56DF3BFE0456BDF0702612EB72ABF75 |
SQL Server 2014 Developer Edition with Service Pack 1 (x64) — DVD (English) | 2015-05-21 | 3025 | BFEE1F300C39638DA0D2CD594636698C6207C852 |
SQL Server 2014 Developer Edition with Service Pack 1 (x86) — DVD (English) | 2015-05-21 | 2462 | ED3C70507A73BCC63D67CFA272CD849B9418A18E |
SQL Server 2014 Developer Edition (x64) — DVD (English) | 2014-04-01 | 2486 | F73F430F55A71DA219FC7257A3A28E8FC142530F |
SQL Server 2014 Developer Edition (x86) — DVD (English) | 2014-04-01 | 2039 | 395B35FD80AA959B02B0C399DA1BB0C020DB6310 |
Причина №3 — Поддержка и развитие среды программирования R
Microsoft вкладывает огромные усилия в популяризацию и развитие языка R, стараясь сделать его лидером в области статистических расчетов. При этом Microsoft предлагает 2 собственные версии дистрибутивов среды R, разница между которыми и Open-Source R приведена в таблице ниже:
Parameter/R Version | Open-Source R (OSR) | Microsoft R Open (MRO) | Microsoft R Server (MRS) |
---|---|---|---|
Processing | In-Memory | In-Memory | In-Memory + Disk |
Analysis Speed | Single threaded | Multi threaded | Single threaded |
Support | Community | Community | Community + Commercial |
Analysis Breadth and depth | Over 7500 community packages | Over 7500 community packages | 7500 packages + Commercial Parallelized Algorithms and Functions |
License | Open Source | Open Source | Commercial License — supported release with indemnity |
Причина №4 — Для Microsoft SQL Server существует бесплатная и ежемесячно обновляемая среда разработки SSMS
В свое время начинал работу с Microsoft SQL Server 2005 и в то далекое время SSMS представлял из себя глючный скудный интерфейс, который по сравнению с TOAD для Oracle и даже PLSQL Developer вызывал только слезы и боль. В общем,10 лет назад работа в среде SSMS представляла из себя сплошное наказание. Но вот уже более чем 4 года лучшего инструмента для работы c базой данных (к сожалению пока только с SQL Server, но вдруг он начнет работать и с другими) я не встречал, хотя в свое время перепробовал много чего Инструменты и утилиты Microsoft SQL Server. При этом если добавить несколько бесплатных расширений, то SSMS становится просто вне конкуренции среди аналогичных коммерческих и бесплатных продуктов.
Начиная с июля 2016 года SSMS стала выпускаться в виде отдельного дистрибутива ежемесячно, что позволило значительно ускорить процесс внедрения нового функционала и устранения текущих багов. На текущий момент список версий для SSMS выглядит так:
Версия/Ссылка для загрузки | Билд | Дата релиза | Размер, Мб |
---|---|---|---|
17.0 RC1 Release | 14.0.16000.64 | 2016-11-16 | 687 |
16.5 Release Latest | 13.0.16000.28 | 2016-10-26 | 894 |
16.4.1 Release | 13.0.15900.1 | 2016-09-23 | 894 |
16.4 Release Deprecated | 13.0.15800.18 | 2016-09-20 | |
16.3 Release | 13.0.15700.28 | 2016-08-15 | 806 |
July 2016 Hotfix Update | 13.0.15600.2 | 2016-07-13 | 825 |
July 2016 Release | 13.0.15500.91 | 2016-07-01 | |
June 2016 Release | 13.0.15000.23 | 2016-06-01 | 825 |
SQL Server 2014 | 12.0.4100.1 | 2015-05-14 | 815 |
SQL Server 2012 | 11.0.6020.0 | 2015-11-21 | 964 |
SQL Server 2008 R2 | 10.50.4000 | 2012-07-02 | 161 |
SQL Server Management Studio (17.0 RC1) замечания:
Причина №5 Схема обновлений для Microsoft SQL Server была упрощена и обновления выходят теперь на регулярной основе
Если ранее обилие различных дистрибутивов и фиксов для SQL Server вызывало недоумение, а правильный порядок их установки был уделом избранных администраторов, то теперь с переходом на инкрементную модель обновления надо знать следующее:
Подробнее о преимуществах перехода на инкрементную модель обновления рассказано в статье Announcing updates to the SQL Server Incremental Servicing Model (ISM)
COD, CU, CTP, GDR, QFE, RC, RDP, RTM, RTW, TAP, SP — что все это и как с этим жить? Подробнее в замечательной статье #BackToBasics: Definitions of SQL Server release acronyms
Причина №6 Microsoft SQL Server теперь можно установить в 3 клика
Если вас пугает с первого взгляда громоздкий интерфейс установки SQL Server и множество кнопок Next, то специально для вас был разработана упрощенная версия инстраллера (так называемый базовый инсталятор), которая сводит все к 3 кликам: The SQL Server Basic Installer: Just Install It!.
Но я все таки рекомендую использовать стандартную схему или освоить установку через командую строку — Install SQL Server 2016 from the Command Prompt. Также можно посмотреть в сторону Open Source проекта SQL Server FineBuild.
Причина №7 — Очень развитое сообщество разработчиков
Количество ресурсов для изучения и решения проблем, связанных с SQL Server, просто огромно — по моей оценке более 170 качественных и действительно полезных проектов, часть из них собрано здесь: Ресурсы по Microsoft SQL Server. Само сообщество очень дружелюбно и всегда готово прийти на помощь, оперативно ответить на правильно поставленные вопросы, особенно активно используется twitter и slack каналы:
Наиболее активных представителей SQL Server сообщества с их блогами и данными для связи можно найти тут.
Причина №8 Microsoft Azure CloudDB
Если нет желания скачивать, устанавливать и настраивать SQL Server на своей машине, то можно очень быстро опробовать его в облаке Azure бесплатно. Начиная с версии CloudDB 2016 весь новый функционал внедряется именно в облачную платформу, а затем дорабатывается движок для необлачных версий. При этом вся головная боль по поддержке, сопровождению и обновлению SQL Server будет лежать на плечах инженеров Microsoft Azure.
Попробовать Microsoft Azure CloudDB можно бесплатно в тестовом режиме, зарегистрировавшись здесь SQL Database – Cloud Database as a Service.
Причина №9 — Множество улучшений и дополнений функционала в версии 2016
Причина №10 — С выходом SP1 для SQL Server 2016 большинство функционала из редакции для бизнеса доступно и в стандартной редакции
Данная новость была опубликована 16 ноября 2016 года и очень позитивно воспринята большинством разработчиков.
Кратко, что вошло в стандартную редакцию:
Так и осталось в редакции для бизнеса:
Подробнее о нововедении можно узнать на SQL Server 2016 SP1 editions
Национальная библиотека им. Н. Э. Баумана
Bauman National Library
Персональные инструменты
Microsoft SQL Server
Microsoft SQL Server — система управления реляционными базами данных, разработанная корпорацией Microsoft. Написана на C, С++, C#. Использует язык Transact-SQL, который является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями.
Содержание
История
Исходный код MS SQL Server (до версии 7.0) основывался на коде Sybase SQL Server, и это позволило Microsoft выйти на рынок баз данных для предприятий, где конкурировали Oracle, IBM, и, позже, сама Sybase. Microsoft, Sybase и Ashton-Tate первоначально объединились для создания и выпуска на рынок первой версии программы, получившей название SQL Server 1.0 для OS/2 (около 1989 года), которая фактически была эквивалентом Sybase SQL Server 3.0 для Unix, VMS и др. Microsoft SQL Server 4.2 был выпущен в 1992 году и входил в состав операционной системы Microsoft OS/2 версии 1.3. Официальный релиз Microsoft SQL Server версии 4.21 для ОС Windows NT состоялся одновременно с релизом самой Windows NT (версии 3.1). Microsoft SQL Server 6.0 был первой версией SQL Server, созданной исключительно для архитектуры NT и без участия в процессе разработки Sybase.
К тому времени, как вышла на рынок ОС Windows NT, Sybase и Microsoft разошлись и следовали собственным моделям программного продукта и маркетинговым схемам. Microsoft добивалась исключительных прав на все версии SQL Server для Windows. Позже Sybase изменила название своего продукта на Adaptive Server Enterprise во избежание путаницы с Microsoft SQL Server. До 1994 года Microsoft получила от Sybase три уведомления об авторских правах как намёк на происхождение Microsoft SQL Server.
После разделения компании сделали несколько самостоятельных релизов программ. SQL Server 7.0 был первым сервером баз данных с настоящим пользовательским графическим интерфейсом администрирования. Для устранения претензий со стороны Sybase в нарушении авторских прав, весь наследуемый код в седьмой версии был переписан.
Версия SQL Server 2005 — была представлена в ноябре 2005 года. Запуск версии происходил параллельно запуску Visual Studio 2005. Существует также «урезанная» версия Microsoft SQL Server — Microsoft SQL Server Express; она доступна для скачивания и может бесплатно распространяться вместе с использующим её программным обеспечением.
С момента выпуска предыдущей версии SQL Server (SQL Server 2000) было осуществлено развитие интегрированной среды разработки и ряда дополнительных подсистем, входящих в состав SQL Server 2005. Изменения коснулись реализации технологии ETL (извлечение, преобразование и загрузка данных), входящей в состав компонента SQL Server Integration Services (SSIS), сервера оповещения, средств аналитической обработки многомерных моделей данных (OLAP) и сбора релевантной информации (обе службы входят в состав Microsoft Analysis Services), а также нескольких служб сообщений, а именно Service Broker и Notification Services. Помимо этого, были произведены улучшения в производительности.
7 августа 2008 года компания Microsoft объявила о выходе новой версии СУБД SQL Server 2008. Именно с этого момента английская версия SQL Server 2008 стала доступна пользователям по различным программам корпоративного лицензирования, таким как Microsoft Enterprise Agreement, Microsoft Enterprise Agreement Subscription, Microsoft Open Value, Microsoft Open Value Subscription, Microsoft Open License.
21 апреля 2010 года корпорация Microsoft объявила о выпуске финальной версии SQL Server 2008 R2.
Версии
Версия | Год | Название | Кодовое имя |
---|---|---|---|
1.0 (OS/2) | 1989 | SQL Server 1.0 (16 bit) | Ashton-Tate / MS SQL Server |
1.1 (OS/2) | 1991 | SQL Server 1.1 (16 bit) | — |
WinNT | 1993 | SQL Server 4.21 | SQLNT |
6.0 | 1995 | SQL Server 6.0 | SQL95 |
6.5 | 1996 | SQL Server 6.5 | Hydra |
7.0 | 1998 | SQL Server 7.0 | Sphinx |
— | 1999 | SQL Server 7.0 OLAP Tools | Palato mania |
8.0 | 2000 | SQL Server 2000 | Shiloh |
8.0 | 2003 | SQL Server 2000 64-bit | Liberty |
9.0 | 2005 | SQL Server 2005 | Yukon |
10.0 | 2008 | SQL Server 2008 | Katmai |
10.25 | 2010 | Azure SQL DB | Cloud Database or CloudDB |
10.50 | 2010 | SQL Server 2008 R2 | Kilimanjaro (aka KJ) |
11.0 | 2012 | SQL Server 2012 | Denali |
12.0 | 2014 | SQL Server In-Memory OLTP | Hekaton |
14 | 2016 | SQL Server 2016 |
Используемые технологии
Database Engine
Компонент Database Engine [Источник 1] представляет собой основную службу для хранения, обработки и обеспечения безопасности данных. Этот компонент обеспечивает управляемый доступ к ресурсам и быструю обработку транзакций, что позволяет использовать его даже в самых требовательных корпоративных приложениях обработки данных. Кроме того, компонент Database Engine предоставляет разносторонние средства поддержания высокого уровня доступности.
Службы Data Quality Services
Службы SQL Server Data Quality Services (DQS) [Источник 2] являются решением для очистки данных на основе знаний. Службы DQS позволяют создать базу знаний, а затем выполнить в ней исправление данных и удаление дубликатов с помощью как автоматизированных, так и интерактивных средств. Можно использовать службы справочных данных на основе облачных вычислений, а также создавать решения по управлению данными, где службы DQS будут интегрированы со службами SQL Server Integration Services и Master Data Services.
Службы Analysis Services
Службы Analysis Services [Источник 3] — это платформа аналитических данных и набор средств для бизнес-аналитики на личном уровне, уровне рабочей группы и организации. Серверный и клиентский конструкторы поддерживают стандартные решения OLAP, новые решения для создания табличных моделей, а также самостоятельную аналитику и совместную работу с помощью PowerPivot, Excel и среды SharePoint Server. Службы Службы Analysis Services также включают интеллектуальный анализ данных, который позволяет выявлять закономерности и связи на основе больших объемов данных.
Службы Integration Services
Службы Integration Services [Источник 4] представляют собой платформу для создания высокопроизводительных решений по интеграции данных, в том числе пакетов для хранения данных, обеспечивающих извлечение, преобразование и загрузку данных.
Master Data Services
Master Data Services [Источник 5] — это решение SQL Server для управления основными данными. Решение, построенное на основе Master Data Services, позволяет обеспечить правильность информации, используемой для построения отчетов и выполнения анализа. С помощью Master Data Services можно создать центральный репозиторий основных данных и поддерживать запись этих данных по мере их изменения, защищенную и доступную для аудита.
Репликация
Репликация представляет собой набор технологий копирования и распространения данных и объектов баз данных между базами данных, а также синхронизации баз данных для поддержания согласованности. Благодаря репликации данные можно размещать в различных местах, обеспечивая возможность доступа к ним удаленных и мобильных пользователей по локальным или глобальным сетям, посредством коммутируемых и беспроводных соединений, а также через Интернет.
Службы Reporting Services
Службы Reporting Services [Источник 6] предлагают средства создания корпоративных отчетов с поддержкой веб-интерфейса, которые позволяют включать в отчеты данные из различных источников, публиковать отчеты в разнообразных форматах, а также централизованно управлять безопасностью и подписками.
Хранение данных
Хранилище данных представляет собой базу данных, которая представляет собой набор таблиц из типизированных столбцов. SQL Server поддерживает различные типы данных, включая основные, такие как Integer, Float, Decimal, Сhar, Varchar, двоичный, Text и другие.
Дисковое пространство базы данных делится на последовательно пронумерованные страницы, каждая по 8 КБ. Страница является основной единицей ввода / вывода для операций SQL Server. Страница отмечена 96-байтный заголовком, который хранит метаданные о странице, включая номер страницы, тип страницы, свободное пространство на странице и идентификатор объекта, которому они принадлежат. Тип страницы определяет данные, содержащиеся на странице: данные, хранящиеся в базе данных, индекс, карту распределения, карту изменения, которая содержит информацию об изменениях, внесенных в другие страницы с момента последнего резервного копирования или протоколирования, или содержат большие типы данных, такие как изображение или текст.
Для физического хранения таблицы, ее строки разделены на ряд разделов (пронумерованных от 1 до N). Размер раздела определяется пользователем; по умолчанию все строки находятся в одном разделе. Таблица разделена на несколько разделов, чтобы распределить базу данных по кластерам. Строки в каждом разделе хранятся в виде B-дерева или кучи.
Работа с данными
Когда использовать собственный клиент SQL Server
Стандартные технологии отказоустойчивости для MS SQL Server 2017
AlwaysOn
Распределение нагрузки среди всех участников, все участники должны быть по своим характеристикам максимально похожи между собой. В синхронном режиме обеспечивается максимальная надежность передачи данных, однако скорость работы будет равняться скорости работы самого медленного участника. В асинхронном режиме обеспечивается максимальное быстродействие, однако могут возникать рассогласованности данных между участниками, что ведет к более сложной поддержке и вероятности потерять последние изменения в случае сбоя основного участника.
Быстрота переключения в синхронном режиме-практически мгновенно и не требует вмешательства системного администратора и DBA, в асинхронном-зависит от текущего состояния БД-дублей, но обычно в среднем до 5 минут (также можно автоматизировать переключение силами одного DBA без привлечения системного администратора).
Признана Microsoft рекомендуемой технологией для БД. Доступна с лицензией Enterprise от 2012 версии и выше. Доступна с ограничениями с лицензией Standard
Кластеризация
Несмотря на простоту настройки, данное решение ненадежно в виду узкого места в виде единого для всех хранилища данных. В случае выхода из строя хранилища данных, восстановление займет достаточно длительный промежуток времени-более 1 часа. Доступна с лицензией Standard до 2008 версии и выше
Репликация
Любая репликация подразумевает создание системных триггеров на каждую таблицу-участницу, а репликация моментальных снимков будет достаточно сильно нагружать основную БД. Поэтому репликацию моментальных снимков можно делать только в минимальные часы нагрузки БД (например, ночью), что неприемлемо, т к необходим горячий резерв. Репликация слиянием сложна в сопровождении для некоторых системы (например, CRM, NAV), также она не подходит для 1С в виду частого изменения структур БД.
Зеркалирование
Возможна в любом режиме, однако как и при AlwaysOn, синхронный режим обеспечивает максимальную надежность и быстрое переключение, а асинхронный режим дает максимальную скорость работы с основной БД, но возможны рассогласованности данных между всеми участниками, а также переключение не будет мгновенным. Здесь переключение на уровне БД обеспечивает следящий сервер автоматически (при например, нагрузке ЦП более, чем в 50% на основном сервере) или средствами DBA. Подключение же к другому серверу обеспечивается силами системного администратора. Резервная БД при любом типе зеркалирования находится в режиме постоянного восстановления, в следствие чего к ней невозможно обратиться. Режим восстановления БД-полный.
Доставка журналов транзакций
Есть 2 режима-постоянное восстановление на резервном сервере или восстановление с отсрочкой.
Первый режим переводит резервную БД (как и при зеркалировании) в режим постоянного восстанавления и к ней невозможно обратиться.
Второй же режим переводит резервную БД в режим восстановления периодически в момент накатывания обновлений (между накатываниями обновлений резервная БД доступна, но это возможно при условии, что экземпляры MS SQL Server одной версии).
Принцип работы прост:
Переключение можно автоматизировать на уровне БД-силами DBA, а на уровне подключений к серверу-на уровне системного администратора.
Общие сведения об обслуживании установки SQL Server
Установка
Создание базы данных
В составе Microsoft Visual Studio 2008 [Источник 7] находится сервер баз данных Microsoft SQL Server 2005 Express Edition. От полнофункционального сервера данных он отличается только ограничением размера базы данных в 2 гигабайта, что позволяет производить разработку и тестирование приложений баз данных.
Для работы по созданию базы данных и таблиц будем использовать Microsoft SQL Server Management Studio Express. Данный программный продукт является свободнораспространяемым и доступен для скачивания в Интернет.
Создание тестовых таблиц с использованием ISQL
Создание тестовых таблиц с использованием провайдера данных
Удаление SQL Server
Перед удалением SQL Server удалите локальные группы безопасности для компонентов SQL Server. Перед удалением компонентов SQL Server рекомендуется остановить все службы SQL Server. Наличие активных соединений может помешать удалению компонентов. Выполните вход на сервер с учетной записью службы SQL Server или с учетной записью, обладающей аналогичным набором разрешений. Например, можно войти на сервер с учетной записью, входящей в локальную группу администраторов.