Открыть сервис

SQL Server

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

История

История SQL Server начинается в конце 1980-х годов, когда Microsoft совместно с Sybase (а затем и с Ashton-Tate) разработала первую версию продукта для операционной системы OS/2. Версия 1.0 была выпущена в 1989 году и носила название SQL Server 1.0. Партнёрство с Sybase продолжалось до середины 1990-х годов, пока Microsoft не решила разрабатывать продукт самостоятельно для платформы Windows NT. Результатом этого стал SQL Server 6.0 (1995 год), первая версия, полностью созданная Microsoft без участия Sybase. С этого момента началась активная эволюция системы: в 1996 году вышла версия 6.5, а в 1998 — SQL Server 7.0, которая ввела поддержку полнотекстового поиска и значительные улучшения в производительности.

Принципиальным этапом стал SQL Server 2000, который расширил возможности интеграции с интернет-технологиями и поддержкой XML. Релиз SQL Server 2005 ознаменовал появление среды разработки SQL Server Management Studio (SSMS) и внедрение технологии Business Intelligence. Версия 2008 года добавила прозрачное шифрование данных и улучшенные средства сжатия. SQL Server 2012 (кодовое имя Denali) представил кластеры AlwaysOn и колоночные индексы. В последующих версиях — 2014, 2016, 2017, 2019, 2022 — Microsoft сделала акцент на гибридные облачные решения интеграцию с Azure, а также повышение безопасности и производительности.

Основные компоненты

Ядро базы данных (Database Engine)

Центральный компонент, отвечающий за хранение, обновление и извлечение данных. Реализует обработку запросов, управление транзакциями, блокировками и индексами. Включает в себя исполняющий модуль, оптимизатор запросов и диспетчер транзакций.

SQL Server Agent

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

Integration Services (SSIS)

Платформа для построения процессов извлечения, преобразования и загрузки данных (ETL). Позволяет импортировать данные из различных источников (файлы, другие СУБД, веб-сервисы) и загружать их в базу данных.

Analysis Services (SSAS)

Инструмент для многомерного и табличного анализа данных. Поддерживает создание кубов (OLAP-структур) и табличных моделей, что позволяет выполнять быструю аналитику и строить интерактивные отчёты.

Reporting Services (SSRS)

Сервер отчётов, который предоставляет возможности для создания, развёртывания и управления отчётами. Отчёты могут быть как простыми табличными, так и сложными графическими, а также поддерживать разные форматы вывода (PDF, Excel, HTML, Word).

Master Data Services (MDS)

Компонент для управления мастер-данными — наборами ключевых бизнес-сущностей (продукты, клиенты, поставщики). Обеспечивает централизованное хранение и версионирование мастер-данных.

Классификация и редакции

Microsoft выпускает SQL Server в нескольких редакциях, различающихся функциональностью и стоимостью. Среди основных:

РедакцияНазначениеКлючевые отличия
EnterpriseКрупные корпоративные решенияПолный набор функций (AlwaysOn, аналитика, неограниченное число ядер, поддержка виртуализации).
StandardСредний и малый бизнесБазовый функционал: индексы, транзакции, ограниченная аналитика (SSAS, SSRS, SSIS — в усечённом виде).
ExpressБесплатная, начального уровняОграничение по размеру базы (10 ГБ), одно ядро, не более 1 ГБ оперативной памяти.
DeveloperДля разработки и тестированияПолная функциональность Enterprise, но запрещено промышленное использование.
WebХостинг веб-приложенийОптимизирована для веб-нагрузок, имеет сокращённую аналитику.
Azure SQLОблачная платформаВерсия, размещённая в облаке Microsoft Azure.
LocalDBЛёгкая версия для разработкиАвтоматический запуск, минимальное потребление ресурсов.

Характеристики и возможности

Модель хранения данных

По умолчанию данные хранятся в файлах базы данных (с расширением .mdf — первичный файл, .ndf — вторичные файлы, .ldf — журнал транзакций). Поддерживаются схемы, таблицы, индексы, представления (views), хранимые процедуры и триггеры.

Поддержка транзакций (ACID)

SQL Server гарантирует атомарность, согласованность, изоляцию и долговечность транзакций. Уровни изоляции настраиваются (Read Committed, Snapshot Isolation и другие). Для обеспечения целостности используется механизм блокировок (locks) и версий строк (row versioning).

Индексы

Система поддерживает кластерные (clustered) и некластеризованные (nonclustered) индексы, а также специальные типы (полнотекстовые, пространственные, колоночные). Колоночные индексы (columnstore) оптимизированы для аналитических нагрузок и обеспечивают высокую скорость выполнения запросов с агрегацией.

Безопасность

Встроенные механизмы включают аутентификацию (Windows Authentication или смешанный режим), авторизацию (роли, схемы, разрешения), прозрачное шифрование данных (TDE), шифрование соединений (SSL/TLS), аудит действий пользователей и динамическое маскирование данных.

Высокая доступность

Для обеспечения непрерывности работы используются технологии:

Применение

SQL Server применяется в различных областях:

Примеры использования

Критика

Несмотря на популярность, SQL Server имеет ряд недостатков:

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →