Ричард Веймир (rwaymi@hotmail.com) – консультант и тренер в компании SolidQ, внештатный редактор журнала SQL Server Pro

.

Особенности реляционного ядра базы данных

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

Доступность. В системе SQL Server 2012 реализованы новые возможности AlwaysOn, обеспечивающие высокую доступность данных и предоставляющие возможность аварийного восстановления. Механизмы AlwaysOn позволяют настраивать до четырех зеркал данных, которые сгруппированы в так называемые группы доступности AlwaysOn Availability Groups. Вы можете выбрать скорость зеркального отображения почти так же, как это делается в системе SQL Server 2008 R2. Новшество заключается в том, что решение построено на основе отказоустойчивости кластеров Windows, поэтому сервер использует виртуальные сетевые имена и виртуальные IP-адреса. Это позволяет клиентам подключаться к виртуальным именам и IP-адресам и не зависеть от кодирования доступных партнерских серверов в строке соединения. Такой подход значительно сокращает время перехвата управления вторичными серверами при отказе.

Вы можете задействовать вторичные серверы для выполнения резервного копирования, создания отчетов и других процессов, которым требуются права «только на чтение», что снижает нагрузку на основной сервер. Это означает, что использование вторичных серверов может повысить ценность системы для бизнеса и доступность данных.

Система SQL Server 2012 поддерживает кластеризацию в нескольких подсетях, что позволяет реализовать географически распределенные отказоустойчивые кластеры в центрах обработки данных (долгожданная функция для корпоративных клиентов). Это улучшение, в сочетании с возможностью использования локальных дисков для базы данных TempDB, дает дополнительные преимущества тем организациям, которые применяют отказоустойчивые кластеры.

Начальная настройка механизмов AlwaysOn должна производиться утилитой SQL Server Configuration Manager. Если вы попытаетесь сначала использовать продукт SQL Server Management Studio (SSMS), то получите сообщение об ошибке, описывающее, как правильно настраивать возможности AlwaysOn. После включения (и перезапуска) службы SQL Server можно пользоваться инструментами SSMS, такими как мастер New Availability Group. Мастер достаточно «интеллектуален» и по ходу дела будет сообщать вам не только о том, что база данных не может работать в группе доступности, но и о причинах такой ситуации (например, у вас до сих пор нет полной резервной копии базы данных, или вы используете неверный режим восстановления). В едином интерфейсе можно настроить все имеющиеся вторичные реплики, как показано на экране 1. После выполнения настройки дерево AlwaysOn High Availability в обозревателе объектов заполняется соответствующими репликами, базами данных и слушателями, как показано на экране 2.

 

Определение вторичных реплик в мастере New Availability Group
Экран 1. Определение вторичных реплик в мастере New Availability Group

 

Использование обозревателя объектов для просмотра реплик, баз данных и слушателей AlwaysOn
Экран 2. Использование обозревателя объектов для просмотра реплик, баз данных и слушателей AlwaysOn

Операционные системы в режиме Windows Server Core официально поддерживаются, то есть вы сможете запускать экземпляры SQL Server на серверах без установленного графического интерфейса Windows. Эта возможность должна уменьшить количество необходимых обновлений и операций перезагрузки для системы Windows и позволить вашему процессору и оперативной памяти сосредоточиться на выполнении серверных задач. Тем не менее, учтите, что только 64-разрядная версия Windows Server 2008 R2 SP1 поддерживает установку в режиме Server Core. Кроме того, некоторые функции SQL Server 2012 — такие как служба Master Data Services, службы Data Quality Services, а также графический интерфейс — в версии Server Core не поддерживаются.

Производительность. Новый индекс ColumnStore, усовершенствованный механизм секционирования и более быстрый полнотекстовый поиск — наиболее важные улучшения производительности в системе SQL Server 2012. Если у вас есть данные «только для чтения», вы можете создавать индексы ColumnStore для столбцов, к которым часто обращаетесь, для значительного снижения времени обработки запроса. Возможности индекса ColumnStore могут использоваться лишь при обработке данных с атрибутом «только для чтения». Механизм секционирования был расширен и теперь поддерживает до 15 000 секций в одной таблице. При постоянном росте количества данных, которые хранят организации, такое улучшение должно повысить детализацию хранения и помочь использовать данные журнала. Хотя возможности полнотекстового поиска в SQL Server 2012 очень похожи на те, что были в системе SQL Server 2008 R2, производительность и масштабируемость данного механизма значительно возросли.

Безопасность. Наконец-то в системе SQL Server 2012 появились серверные роли, настраиваемые пользователем. Теперь можно указать роли сервера и настроить разрешения уровня сервера в отдельных конфигурациях. Эти роли позволяют предоставить администраторам баз данных и разработчикам необходимые им права, но не делать их при этом членами группы администраторов серверной роли.

Еще надо отметить, что усовершенствован механизм аудита. Он стал более надежным, а контроль использования дискового пространства — более тщательным. Поддерживаются новые алгоритмы шифрования. Используя новую концепцию автономных баз данных, разработчики реализовали поддержку механизма просмотра всех учетных записей входа в совокупности.

Управляемость. Новая функция Distributed Replay в SQL Server 2012 будет исключительно полезна в процессах тестирования, обновления и настройки. Как и функция SQL Server Profiler, Distributed Replay позволяет «повторить» захваченные рабочие нагрузки. В отличие от Profiler, функция Distributed Replay позволяет повторить захваченные рабочие нагрузки в нескольких системах, имитируя более реалистичный набор рабочих нагрузок сервера SQL Server.

Среда SSMS имеет ряд усовершенствований, в том числе переделанное диалоговое окно Restore Database. Разработчики SQL Server 2012 улучшили не только его основные возможности, но и графический интерфейс. Предусмотрены новая функция восстановления страницы и усовершенствование логики. Так, теперь служба SSMS гораздо лучше определяет порядок, в котором необходимо выполнять восстановление из ваших полных, дифференциальных копий и резервных копий журнала. Диалоговое окно Restore Database включает понятные уведомления о состоянии при открытии окна и действительно полезную визуальную временную шкалу, используемую при восстановлении базы данных из нескольких резервных копий.

Поддержка Windows PowerShell в системе SQL Server 2012 была расширена. Утилита sqlps теперь встроена в среду PowerShell 2.0, а не является собственной мини-оболочкой PowerShell 1.0. Это изменение станет значительным шагом вперед в области интеграции управляющих механизмов Windows и SQL Server.

T-SQL. Новый оператор THROW в системе SQL Server 2012 будет более полезным, чем оператор RAISERROR. С помощью оператора THROW вы можете создавать динамические, содержательные сообщения об ошибках кода и передавать их в качестве описания соответствующих ошибок, совершенствуя процесс обработки ошибок в коде T-SQL.

Новые функции PARSE, TRY_CONVERT и TRY_PARSE, служащие для преобразования чисел, дат и времени, выглядят многообещающе, особенно для программистов, работающих в международных или многоязычных проектах. Я рад появлению данных функций, потому что работа с датами и временем может представлять определенную сложность.

Предложение OVER было усовершенствовано и теперь поддерживает функции Windows. Если вы работаете с набором строк и хотите применить функции к этим наборам — данная возможность для вас. Ицик Бен-Ган прилагал усилия к ее реализации в течение нескольких лет. Ознакомьтесь, например, с его блогом «Window Functions (OVER Clause) — Help Make a Difference».

Наконец, в T-SQL был добавлен ряд аналитических функций. Они позволяют новым механизмам хранения данных работать в системе SQL Server более гладко.

Возможности служб SSAS

Единая семантическая модель бизнес-аналитики (BISM) влияет на количество компонентов в блоке бизнес-аналитики (BI), включающем службы SQL Server Analysis Services (SASS). Внесены изменения во многие функции служб SSAS для реализации поддержки BISM. Например, вы обнаружите ряд изменений в библиотеке объектов Analysis Management Objects и в протоколе XML for Analysis.

Разработчики реализовали целый ряд новых возможностей в службах SSAS, в том числе:

• новый режим установки сервера SSAS – режим Tabular; используется ядро VertiPaq, которое ранее применялось только в PowerPivot;

• новые статистические, табличные и поисковые функции;

• новые функции и возможности защиты на уровне строк.

Управляемость SSAS была усовершенствована во всех областях. Например, для управления службами SSAS и PowerPivot теперь можно использовать команды PowerShell. А пакет инструментов SQL Server Data Tools получил обновленный внешний вид (об этом я расскажу чуть ниже).

Возможности службы SSRS

Службы отчетов SQL Server (SSRS) теперь включают новую возможность Data Alerts – оповещения, управляемые данными. С помощью Data Alerts вы можете отправлять электронные письма конкретным людям, в зависимости от изменений в отчетах или на основе определенного набора аварийных ситуаций.

Построение отчетов службой SSRS было преобразовано, в том числе удален целый ряд имевшихся ранее ограничений. Теперь вы можете построить отчет в виде документа Microsoft Excel (Excel 2007 и выше) или документа Microsoft Word (Word 2007 и выше).

Интеграция службы SSRS в среду SharePoint также была усовершенствована. Администраторы по достоинству оценят возможность полностью настраивать интеграцию SSRS в SharePoint с помощью утилит SharePoint, либо посредством оболочки PowerShell. Пользователей сервисов SharePoint в свою очередь порадует Power View — новый интерфейс для отображения и визуализации данных служб SSRS. Инструмент Power View, который является дополнением, а не заменой генератора отчетов (Report Builder), использует новый формат отчетов (.rdlx).

Возможности служб SSIS

Обновленный обозреватель зависимостей может расширить возможности служб SQL Server Integration Services (SSIS) в области анализа пакетов и отладки. Обозреватель зависимостей поможет изучить зависимости объектов прямо из консоли SSMS. Он имеет ряд отладочных представлений, хранимых процедур и функций, способных помочь в устранении проблем с пакетом. Пользовательский интерфейс был модернизирован и внесены некоторые изменения, которые должны повысить удобство использования.

При открытии существующего пакета SSIS запускается мастер Package Upgrade, который поможет преобразовать ваш пакет в формат SQL Server 2012. Мастер перенаправит вас в окно Upgrade Advisor, где вы получите информацию о потенциальных проблемах, которые могут возникнуть при обновлении. Я расскажу подробнее об Upgrade Advisor чуть позже.

После того как ваш пакет будет преобразован, вы увидите новую среду разработки с обновленным внешним видом, которая показана на экране 3. Я нахожу эту среду интуитивно более понятной, чем Business Intelligence Development Studio (BIDS) 2008 R2.

 

Презентация новой среды разработки для пакетов служб SSIS
Экран 3. Презентация новой среды разработки для пакетов служб SSIS

Возможности служб Master Data Services

Службы Master Data Services также имеют ряд улучшений, в том числе в дополнении Excel для служб Master Data Services и в интерфейсе веб-приложения Multiple Data Management. Механизмы безопасности были упрощены, а также усовершенствовано взаимодействие веб-интерфейса с оболочкой SharePoint.

Средства разработки

После добавления новых средств для разработки реляционных проектов баз данных SQL Server Data Tools (ранее известных как Juneau) в состав системы SQL Server 2012 пакет SQL Server BIDS был переименован в SQL Server Data Tools. В процессе открытия приложения Visual Studio для создания нового проекта вы увидите привычные шаблоны проектов Business Intelligence, которые можно использовать для создания проектов SSAS, SSIS и SSRS. Если в меню перейти к разделу Database и раскрыть его, вы увидите категорию SQL Server (экран 4). Выберите эту категорию, и вы сможете просмотреть доступные шаблоны для создания и редактирования проектов SQL Server 2005 и SQL Server 2008, приложений SQL Server уровня данных, а также других типов проектов баз данных.

 

Использование шаблонов проекта SQL Server 2012 Business Intelligence
Экран 4. Использование шаблонов проекта SQL Server 2012 Business Intelligence

Процесс разработки инструментов баз данных будет намного проще, если задействовать эти шаблоны работы с проектами. А если вы используете набор инструментов Visual Studio Team Data, вы наверняка оцените, что в состав системы SQL Server теперь входят еще более широкие функциональные возможности.

Службы Data Quality Services

Службы Data Quality Services являются новым компонентом, доступным в редакции Enterprise Edition и в новой версии Business Intelligence системы SQL Server 2012. Данный компонент интегрируется со службами SSIS и Master Data Services для повышения степени корректности данных; при этом он решает такие задачи, как внесение исправлений в данные на основе признанных моделей, удаление повторяющихся данных, а также выполнение других функций по очистке данных. Чтобы узнать больше о службах Data Quality Services, которые состоят из серверного и клиентского компонентов, просмотрите документ SQL Server 2012 Books Online (BOL) (http://msdn.microsoft.com/en-us/library/ff877925%28v=SQL.110%29.aspx).

Версии пакета

Немало изменений было внесено и в редакции продукта. Редакция Datacenter Edition, используемая для системы SQL Server 2008 R2, была преобразована в Enterprise Edition. Редакции Workgroup и Small Business (доступные ранее только для OEM-производителей), больше не используются. Процессор Itanium более не поддерживается, поэтому порт для IA64 не предоставляется. В модель лицензирования внесены существенные изменения.

Как я уже упоминал ранее, редакция Business Intelligence является новшеством системы SQL Server 2012. Эта версия — хороший выбор для тех, кто хочет использовать дополнительные возможности служб SSAS и SSRS, дополнительные службы, такие как Data Quality Services, Master Data Services, режим Tabular и службу PowerPivot для взаимодействия с SharePoint, но не нуждается в поддержке большого числа ядер процессора.

Издание SQL Server Express LocalDB, которое заменяет редакцию SQL Server Express (в настоящее время устаревшую), порадует многих разработчиков приложений. Это облегченная версия пакета, устанавливающая только ядро базы данных. Работа с данной версией, что достаточно логично, не требует управления службами и обслуживания учетных записей. Пакет SQL Server Express LocalDB полностью совместим с SQL Server, и в тоже время предлагает разработчикам приложений простую процедуру установки и удобные механизмы работы.

Редакции SQL Server Enterprise, Standard, Evaluation, Developer и Compact по-прежнему доступны. Версия Web Edition будет предоставляться только провайдерам веб-хостинга по специальному лицензионному соглашению.

Системные требования и процесс обновления

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

• Необходимо использовать операционные системы Windows Server 2008 R2 SP1, Windows Server 2008 SP2, Windows 7 SP1 или Windows Vista SP2.

• Требуются системы SQL Server 2008 R2 SP1 (или более новые пакеты обновления, если они доступны для соответствующей редакции), SQL Server 2008 SP2 либо SQL Server 2005 SP4.

Если вы используете более старые версии систем SQL Server или Windows, то необходимо перейти на поддерживаемые версии перед обновлением до SQL Server 2012.

Для использования SQL Server 2012 также требуется, чтобы были установлены оболочка PowerShell 2.0 и оба пакета Microsoft. NET Framework 3.5 SP1 и Microsoft. NET Framework 4.0. В отличие от версии SQL Server 2008 R2, система SQL Server 2012 не установит необходимое программное обеспечение в процессе развертывания.

Технология Hyper-V полностью поддерживается в системах версии Windows Server 2008 SP2 и выше. Браузер Microsoft Internet Explorer (IE) версии 7.0 или выше требуется для работы служб SQL Server Data Tools, SSMS и генератора отчетов SSRS. Для использования инструментов с графическим интерфейсом экран должен поддерживать разрешение 1024 на 768. Хотя версии SQL Server 2012, работающей с процессором Itanium, не существует, 32- и 64-разрядные версии SQL Server 2012 доступны.

Чтобы убедиться, что ваша среда готова к обновлению, вы можете запустить утилиту SQL Server Upgrade Advisor. Можно установить Upgrade Advisor с главной страницы программы установки пакета SQL Server. После установки вы можете запустить утилиту, выбрав пункт Launch Upgrade Advisor Analysis Wizard в меню Start.

Как показано на экране 5, утилита Upgrade Advisor состоит из мастера и программы просмотра отчетов. Последовательность выполнения операций мастера достаточно логична. Убедитесь, что все службы SQL Server работают, перед тем как запустить мастер. После завершения анализа вы получите отчет об обнаруженных проблемах, одновременно с предложениями о том, как эти проблемы решать. Обратите внимание, что утилита Upgrade Advisor также может анализировать сохраненные трассировки профилировщика для более точной оценки существующей среды.

 

Запущенная утилита Upgrade Advisor
Экран 5. Запущенная утилита Upgrade Advisor

Для серверных компонентов процесс обновления будет сравнительно простым. Тем не менее, я рекомендую вам сначала прочитать о процессе обновления в документе SQL Server 2012 BOL и поискать дополнительные указания в файлах readme. Для установки некоторых клиентских компонентов, таких как PowerPivot for Excel, необходимо удалить старую версию системы SQL Server перед установкой пакета SQL Server 2012. Стандартное предупреждение для компаний, использующих репликацию, — необходимо тщательно планировать процесс развертывания и соблюдать ограничения согласно рекомендациям из документа SQL Server 2012 BOL.

Изменения в программе установки

В SQL Server 2012 в процесс установки были внесены некоторые изменения из-за добавления новых возможностей, в частности, компонентов BI. Однако если вы используете SQL Server 2008 R2 или SQL Server 2008, то будете чувствовать себя как рыба в воде, так как процессы установки этих систем очень похожи. Тем не менее, меня немного сбивало с толку, что программа установки постоянно закрывает окна, а затем открывает новые. Так что запаситесь терпением и не думайте, что программа установки перестала работать, если окно настройки временно исчезло.

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

 

Выбор и установка компонентов SQL Server 2012
Экран 6. Выбор и установка компонентов SQL Server 2012

Вопрос, в котором стоит проявить осторожность, касается изменений в учетных записях служб. Если вы используете системы Windows Server 2008 R2 или Windows 7, вы можете задействовать два новых типа учетных записей: управляемую учетную запись службы и виртуальную учетную запись. Если вы собираетесь применять отказоустойчивую кластеризацию или группы доступности AlwaysOn Availability Groups, то не должны использовать виртуальные учетные записи. О новых типах учетных записей служб можно узнать подробнее из статьи Microsoft «Configure Windows Service Accounts and Permissions» по адресу http://msdn.microsoft.com/en-us/library/ms143504%28v=SQL.110%29.aspx.

Действуйте!

Это еще далеко не все особенности SQL Server 2012, и я надеюсь, что вы не станете медлить.