В новой серии статей мы рассмотрим самые важные новшества SQL Server 2014. В этой статье речь пойдет о том, как можно задействовать инструмент Analysis Migrate Report (AMR) в SQL Server 2014 для миграции баз данных с целью использования нового механизма In-Memory OLTP. Прежде всего, важно понимать, что AMR — не обязательное условие для применения In-Memory OLTP. Можно полностью построить оптимизированную для загрузки в память схему базы данных с использованием T-SQL или среды SSMS. Инструмент AMR предпочтителен, если нужно преобразовать существующую базу данных OLTP для использования In-Memory OLTP. Как следует из названия, AMR анализирует базу данных и определяет, какие таблицы и хранимые процедуры могут быть оптимизированы для размещения в памяти. Кроме того, составляется отчет обо всех проблемах и конфликтах, которые возникают в базе данных в процессе преобразования. Инструмент AMR совместим с SQL Server 2008 и более новыми версиями.

Перед началом использования AMR необходимо захватить выполняемую рабочую нагрузку SQL Server. Специалисты Microsoft рекомендуют задействовать инструмент AMR по крайней мере в течение часа, чтобы определить базу данных показателей производительности. Однако чем дольше работает инструмент, тем более информативными будут собранные статистические данные. В процессе захвата инструмент AMR собирает данные о производительности через каждые 15 минут. Данные хранятся в двух коллекциях с именами Table Usage Analysis («Анализ использования таблиц») и Stored Procedure Analysis («Анализ использования хранимых процедур»).

Начальный сбор данных

Чтобы начать использовать инструмент AMR, в первую очередь необходимо создать главное хранилище данных Master Data Warehouse (MDW). Откройте обозреватель объектов, затем разверните узел Management («Управление») и щелкните правой кнопкой мыши Data Collection («Сбор данных»). Выберите Tasks («Задачи»), а затем Configure Management Data Warehouse («Настройка хранилища управляющих данных»).

В результате будет создана база данных MDW. Чтобы приступить к сбору данных с применением инструмента AMR, разверните узел Management в обозревателе объектов, а затем щелкните правой кнопкой мыши пункт Data Collection. Последовательно выберите Tasks и Configure Data Collection («Настройка сбора данных»). Будет запущен мастер настройки сбора данных, показанный на экране 1.

 

Мастер настройки сбора данных
Экран 1. Мастер настройки сбора данных

Мастер отображает диалоговое окно, в котором можно выбрать текущий экземпляр SQL Server и ранее созданную базу данных MDW. Сделав выбор, установите флажок Transaction Performance Collection Sets («Наборы сбора данных производительности транзакций»). Затем нажмите кнопки Next и Finish, чтобы запустить процесс сбора данных.

Формирование отчетов AMR

Можно подготовить отчет AMR Transaction Performance Analysis Overview, щелкнув правой кнопкой мыши базу данных MDW, выбрав пункт Reports («Отчеты»), Management Data Warehouse и Transaction Performance Analysis Overview. В отчете AMR содержится информация обо всех пользовательских базах данных на сервере. Можно получить более детальное представление каждой базы данных и увидеть рекомендации AMR (см. экран 2).

 

Отчет с рекомендациями
Экран 2. Отчет с рекомендациями

Часть отчета, представленная на экране 2, содержит данные об использовании таблиц. В другой части отчета даны рекомендации о хранимых процедурах, которые следует оптимизировать для размещения в памяти. При желании после подготовки отчета можно использовать советника по оптимизации размещения в памяти Memory Optimization Advisor для миграции избранных таблиц и хранимых процедур. Откройте обозреватель объектов и перейдите к объекту, который нужно перенести, а затем щелкните на объекте правой кнопкой мыши и выберите в контекстном меню пункт Memory Optimization Advisor.

Дополнительные сведения об инструменте AMR в составе SQL Server 2014 можно найти на сайте SQL Server Blog по адресу New AMR Tool: Simplifying the Migration to In-Memory OLTP (http://blogs.technet.com/b/dataplatforminsider/archive/2013/09/17/new-amr-tool-simplifying-the-migration-to-in-memory-oltp.aspx).

Новые возможности групп обеспечения доступности AlwaysOn

Теперь мы переходим к новым функциям групп обеспечения доступности AlwaysOn в SQL Server 2014. Группы обеспечения доступности AlwaysOn появились в версии SQL Server 2012. Напомню, что они выполняют автоматическую или ручную отработку отказа для набора пользовательских баз данных. Все базы данных в наборе отрабатывают отказ вместе как группа. Первоначальная реализация для SQL Server 2012 поддерживает четыре вторичные реплики, только одна из которых может быть синхронной. Вторичные реплики поддерживают рабочие нагрузки только для чтения. Все реплики в группе обеспечения доступности AlwaysOn должны находиться в узле отказоустойчивого кластера Windows. В версии SQL Server 2014 функциональность групп обеспечения доступности AlwaysOn расширена, что повышает гибкость и одновременно превращает их в более мощное решение для обеспечения высокой доступности и восстановления после аварии. Версия SQL Server 2014 поддерживает дополнительные вторичные реплики, а также обеспечивает интеграцию с Windows Azure.

Больше синхронных и асинхронных реплик

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

Реплики Windows Azure

SQL Server 2014 обеспечивает интеграцию с Windows Azure AlwaysOn для восстановления после аварии в «облаке». В случае отказа локальной базы данных можно запустить базы данных SQL Server из виртуальных машин Windows Azure, на которых размещены реплики AlwaysOn. Реплики в Azure должны быть синхронными, и необходимо наличие SQL Server 2014. Возможна только ручная отработка отказа.

Новые режимы доступности Windows Azure AlwaysOn полностью интегрированы в среду SQL Server Management Studio (SSMS). Чтобы создать асинхронную реплику группы обеспечения доступности в Windows Azure, необходимо задействовать группы обеспечения доступности AlwaysOn с использованием диспетчера настройки SQL Server. Затем откройте SSMS, перейдите к узлу AlwaysOn High Availability и создайте новую группу обеспечения доступности или добавьте реплику в существующую группу обеспечения доступности. При наличии групп обеспечения доступности можно выбрать группу, а затем воспользоваться мастером добавления реплики, как показано на экране 3, чтобы добавить асинхронную реплику в Azure.

 

Мастер добавления реплики
Экран 3. Мастер добавления реплики

Мастер строит виртуальную машину Azure, которая будет действовать как асинхронная реплика. Для работы мастера требуется VPN-соединение между локальной сетью и Azure.

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