Microsoft SQL Server 2012¶
Microsoft SQL Server 2012 — это реляционная система управления базами данных (СУБД), разработанная корпорацией Microsoft, выпущенная 20 марта 2012 года как десятая основная версия продукта. Она относится к семейству Microsoft SQL Server и предназначена для хранения, обработки и анализа структурированных данных в корпоративных средах. Система поддерживает язык запросов Transact-SQL (T-SQL) и предоставляет инструменты для бизнес-аналитики, отчетности и управления данными. Основные нововведения версии включали улучшенную поддержку облачных вычислений, встроенные средства визуализации данных и расширенные функции безопасности.
¶История
¶Разработка и выпуск
Разработка SQL Server 2012 (кодовое имя «Denali») началась в 2009 году после выхода SQL Server 2008 R2. Основной целью было создание платформы, способной работать как в локальных (on-premises), так и в облачных средах (Windows Azure). Первая публичная бета-версия была выпущена 9 ноября 2010 года, а окончательная версия (RTM) — 6 марта 2012 года. Официальный запуск продукта состоялся 20 марта 2012 года. Поддержка основной версии завершилась 11 июля 2017 года, а расширенная поддержка — 12 июля 2022 года.
¶Место в линейке
SQL Server 2012 стал преемником SQL Server 2008 R2 и предшественником SQL Server 2014. Он был последней версией, поддерживавшей 32-разрядные системы (x86), и первой, ориентированной на интеграцию с облачной платформой Microsoft Azure.
¶Редакции
Microsoft SQL Server 2012 выпускался в нескольких редакциях, различающихся функциональными возможностями и лицензированием:
| Редакция | Назначение | Основные ограничения |
|---|---|---|
| Enterprise | Крупные организации, критически важные системы | Полная функциональность, максимальное число ядер (до 64) |
| Standard | Средний бизнес, отделы | Ограничения по числу ядер (до 4), отсутствие некоторых функций (например, AlwaysOn в полном объеме) |
| Web | Хостинг-провайдеры, веб-приложения | Ограниченная поддержка бизнес-аналитики |
| Express | Бесплатная версия для обучения и малых приложений | Максимальный размер базы данных — 10 ГБ, одно ядро процессора |
| Developer | Разработка и тестирование | Полная функциональность Enterprise, но запрещено использование в производственных средах |
| Business Intelligence | Аналитика и отчетность | Включала Power View и PowerPivot, но без функций AlwaysOn |
¶Основные возможности и нововведения
¶AlwaysOn (технология высокой доступности)
Одним из ключевых нововведений SQL Server 2012 стала технология AlwaysOn, объединившая функции зеркального отображения баз данных (database mirroring) и кластеризации. Она включала два компонента:
- AlwaysOn Failover Cluster Instances (FCI) — отказоустойчивая кластеризация на уровне экземпляра, обеспечивающая автоматическое переключение при сбое узла.
- AlwaysOn Availability Groups (AG) — группы доступности на уровне базы данных, позволяющие создавать несколько синхронных или асинхронных реплик для чтения и резервирования. Это обеспечивало время восстановления (RTO) менее 30 секунд.
¶Columnstore Indexes
В SQL Server 2012 были введены columnstore-индексы — новый тип индексов, оптимизированный для аналитических запросов (OLAP). Данные хранились по столбцам, а не по строкам, что ускоряло выполнение агрегатных функций (SUM, COUNT, AVG) в 10–100 раз по сравнению с традиционными B-деревьями. Однако в версии 2012 columnstore-индексы были только для чтения (нельзя было обновлять данные в таблицах с таким индексом).
¶Power View и PowerPivot
SQL Server 2012 включал встроенные средства бизнес-аналитики:
- Power View — интерактивный инструмент визуализации данных на основе Silverlight, позволявший создавать диаграммы, карты и фильтры без написания кода.
- PowerPivot for SharePoint — надстройка для анализа больших объемов данных в памяти, работавшая в среде SharePoint.
¶Улучшения в T-SQL
В язык Transact-SQL были добавлены новые функции:
- SEQUENCE — объект для генерации последовательностей чисел, независимый от таблиц (аналог SEQUENCE в Oracle).
- THROW — упрощенный оператор для генерации исключений (заменил RAISERROR).
- OFFSET-FETCH — поддержка постраничной выборки данных (аналог LIMIT в PostgreSQL).
- IIF и CHOOSE — логические функции для условных выражений.
¶Управление и администрирование
- SQL Server Data Tools (SSDT) — интегрированная среда разработки для создания баз данных, схем и отчетов, заменившая Visual Studio Database Projects.
- Distributed Replay — утилита для воспроизведения нагрузочных тестов на нескольких серверах.
- User-Defined Server Roles — возможность создавать собственные серверные роли для тонкой настройки прав доступа.
¶Архитектура и компоненты
¶Ядро базы данных (Database Engine)
Основной компонент, отвечающий за хранение, обработку и защиту данных. В SQL Server 2012 использовалась архитектура на основе страниц (8 КБ), с поддержкой сжатия данных (ROW и PAGE) и шифрования (Transparent Data Encryption, TDE).
¶Службы Integration Services (SSIS)
Платформа для извлечения, преобразования и загрузки данных (ETL). В версии 2012 была улучшена поддержка параллельной обработки и добавлен мастер для создания проектов в SSDT.
¶Службы Analysis Services (SSAS)
Инструмент для многомерного (OLAP) и табличного (Tabular) анализа данных. В SQL Server 2012 появилась табличная модель (в дополнение к многомерной), работающая в памяти (in-memory) и использующая xVelocity-движок.
¶Службы Reporting Services (SSRS)
Система для создания, развертывания и управления отчетами. В версии 2012 были добавлены:
- Новый дизайнер отчетов в SSDT.
- Поддержка HTML5 для просмотра отчетов в браузере.
- Параметризованные отчеты с каскадными фильтрами.
¶Системные требования
¶Аппаратные требования
- Процессор: 64-разрядный (x64) с тактовой частотой не менее 1,4 ГГц (рекомендуется 2,0 ГГц и выше). Для 32-разрядных систем (только Express) — 1,0 ГГц.
- Оперативная память: минимум 1 ГБ (рекомендуется 4 ГБ для Enterprise).
- Дисковое пространство: от 6 до 10 ГБ (в зависимости от компонентов).
¶Программные требования
- Операционная система: Windows Server 2008 R2 SP1, Windows Server 2012, Windows 7 SP1 (для Developer), Windows 8 (для Developer).
- .NET Framework: версия 3.5 SP1 или 4.0.
- Windows PowerShell: версия 2.0.
¶Применение
¶Корпоративные системы
SQL Server 2012 широко использовался в крупных организациях для ведения транзакционных баз данных (OLTP), систем управления ресурсами (ERP) и взаимоотношениями с клиентами (CRM). Технология AlwaysOn обеспечивала высокую доступность для критически важных приложений.
¶Бизнес-аналитика
Благодаря Power View, PowerPivot и SSAS, версия 2012 применялась для построения аналитических панелей (dashboards) и отчетов в среднем и крупном бизнесе. Columnstore-индексы ускоряли выполнение запросов к хранилищам данных (data warehouses).
¶Облачные решения
SQL Server 2012 стал первой версией, интегрированной с Microsoft Azure. Пользователи могли развертывать базы данных в облаке через SQL Database (теперь Azure SQL Database) и использовать гибридные сценарии (например, резервное копирование в Azure Blob Storage).
¶Критика и ограничения
- Columnstore-индексы только для чтения: невозможность обновления данных в таблицах с columnstore-индексами ограничивала их применение в OLTP-системах (исправлено в SQL Server 2014).
- Зависимость от Silverlight: Power View требовал установки плагина Silverlight, который был объявлен устаревшим в 2015 году.
- Высокие требования к лицензированию: редакция Enterprise стоила значительно дороже конкурентов (например, Oracle Database Standard Edition), что вызывало критику со стороны малого бизнеса.
- Ограниченная поддержка NoSQL: в отличие от PostgreSQL, SQL Server 2012 не имел встроенной поддержки JSON или документо-ориентированных моделей.
¶Интересные факты
- Кодовое имя «Denali» было выбрано в честь горы Мак-Кинли (ныне Денали) на Аляске, самой высокой вершины Северной Америки.
- SQL Server 2012 стал последней версией, поддерживающей 32-разрядные процессоры (x86) — начиная с SQL Server 2014, все редакции стали только 64-разрядными.
- В 2012 году Microsoft выпустила специальную редакцию SQL Server 2012 Parallel Data Warehouse (PDW), предназначенную для массово-параллельной обработки (MPP) в хранилищах данных.
¶Источники
- Microsoft SQL Server 2012 Books Online (документация Microsoft)
- «SQL Server 2012: A Beginner's Guide» — Dusan Petkovic, 2013
- «Professional Microsoft SQL Server 2012 Administration» — Adam Jorgensen, 2012
- Технические статьи на MSDN (Microsoft Developer Network) за 2010–2012 годы
- Официальный блог команды SQL Server (blogs.msdn.microsoft.com/sqlserver)