ADG Оставить заявку
Блог Данные и аналитика 5 мин чтения

SQL Server 2008 RTM вышел: мигрируем хранилище с 2005, Policy Management и новый SSRS

6 августа вышел SQL Server 2008 RTM. Смотрим на Policy-Based Management и обновлённый SSRS - что реально изменилось при миграции хранилища с SQL 2005.

Контекст момента

Официальный релиз Microsoft SQL Server 2008 состоялся 6 августа 2008 с обновлёнными SSRS, SSIS и Analysis Services

Релиз RTM объявили 6 августа - мы его ждали, потому что ещё с RC0 проверяли Policy-Based Management на тестовой среде и хотели понять, как всё это ведёт себя в контексте реальной миграции хранилища. Про RC0 писали в прошлый раз, сейчас - уже про RTM и первые практические впечатления от BI-части.

Policy-Based Management: из теории в работу

На RC0 мы убедились, что механизм работает. На RTM взяли его серьёзнее - составили первый набор политик для одного из клиентских серверов, который мигрируем с SQL Server 2005. У клиента исторически сложился зоопарк: несколько DBA, несколько лет «так сложилось», и у каждой базы свои настройки AUTO_SHRINK, Recovery Model, коллации и прочего.

Набор получился небольшой, но конкретный:

  • AUTO_SHRINK выключен - политика On change - prevent блокирует включение прямо в момент попытки.
  • Recovery Model не Simple для баз с аудитом - On schedule, раз в час, пишет нарушения в журнал.
  • Именование баз - предикат на соответствие корпоративному префиксу, On demand, запускаем перед сдачей среды.

Экспорт политик в XML работает, XML читаемый - это важно, потому что набор политик можно держать в системе контроля версий и раскатывать на новые серверы скриптом. Для multi-server сценариев нужен Central Management Server - мы его подняли отдельно, сейчас обкатываем.

Что не понравилось: режим On change - prevent работает через DDL-триггер, и если что-то идёт не так - ошибка не всегда очевидна для того, кто случайно нарвался. Сообщение есть, но его надо улучшать под конкретный контекст. В политике есть поле Description - пишем туда человеческое объяснение, зачем это правило вообще существует.

SSRS: наконец-то нормальный экспорт в Excel

Это один из тех случаев, когда обновление маленькое по описанию, но большое по последствиям для пользователей. В SQL Server 2005 SSRS экспортировал в Excel через формат, который технически работал, но на практике приходили жалобы: мёрджи ячеек ломали дальнейшую обработку, числа оказывались текстом, строки заголовков съезжали. Бухгалтерия и аналитики итоговые таблицы после экспорта дорабатывали вручную - это было нормой.

В SSRS 2008 экспорт в Excel переписали. Числа экспортируются числами, форматирование ячеек приходит ближе к тому, что настроено в отчёте, а вложенные группировки превращаются в нечто, с чем Excel реально может работать. Мы прогнали несколько отчётов клиентского хранилища - финансовые сводки и отчёты по остаткам - и первый же прогон дал результат без ручной доработки. Мелочь с одной стороны, но это меняет практику работы с отчётами прямо сейчас.

Параллельно SSRS получил экспорт в Word (DOC) и обновлённый рендерер PDF. Word-экспорт - ситуативная вещь, используется в узком круге сценариев (готовые печатные формы, регуляторная отчётность). PDF стал чище, шрифты кириллицы встраиваются без плясок с font embedding - что тоже снимает боль с ряда клиентов.

SSIS: новый движок и пакеты из 2005

SSIS в 2008 получил переработанный движок выполнения. Официально заявлена лучшая производительность на больших объёмах и более предсказуемое потребление памяти. На нашей тестовой нагрузке разница есть, но мы не стали делать из этого громких выводов - нужно смотреть на конкретных сценариях и объёмах.

Пакеты, написанные под SSIS 2005, открываются в SSDT 2008 и предлагают апгрейд. На нескольких пакетах среднего размера апгрейд прошёл без потери логики, но в одном случае пришлось вручную поправить задачу с OLE DB Source - источник немного поменял поведение при обработке NULL. Не катастрофа, но перед миграцией продуктивных ETL-пакетов нужно тестировать.

Что действительно удобно в новом SSIS - улучшенный дизайнер с возможностью annotate задачи прямо на холсте. В больших пакетах это помогает разбираться, что делает тот или иной блок, особенно когда в пакет через полгода смотришь впервые.

Analysis Services: MDX без изменений, зато есть BISM-намёки

Analysis Services в 2008 - эволюция, а не революция. MDX-движок оптимизировали, кубы с большим числом измерений строятся заметно быстрее на нашем тесте, но в целом для тех, кто работает с SSAS 2005, архитектурных изменений немного.

Документация упоминает Work in Progress по новой объектной модели, но в RTM это просто RTM - работаем с тем, что есть, и это работает нормально.

Что с миграцией хранилища на практике

Миграция с SQL Server 2005 на 2008 в нашем случае идёт поэтапно. Сначала подняли новый экземпляр рядом, восстановили резервные копии баз, прогнали Upgrade Advisor - у него появились новые проверки, и несколько deprecation warning он поймал честно. Потом перенесли SSIS-пакеты и SSRS-отчёты, протестировали, согласовали окно.

Сам процесс переноса баз несложный - backup/restore, потом ALTER DATABASE COMPATIBILITY_LEVEL до 100. Большинство запросов работает без изменений. Исключения были в двух местах: один запрос использовал конструкцию, которую оптимизатор 2008 стал трактовать иначе (план поменялся, производительность упала - пришлось переписать), и один отчёт SSRS использовал специфичный параметр рендерера. Оба случая нашлись на тестировании, до продуктива не дошли.

Policy-Based Management сразу завели на новом сервере до того, как туда переехали базы. Это оказалось правильным решением: политики стали частью конфигурации сервера, а не надстройкой поверх уже сложившегося зоопарка.


Если ваше хранилище на SQL Server 2005 и вы задумываетесь о миграции - в рамках DWH и BI-проектов готовы разобрать конкретную конфигурацию и составить план перехода без сюрпризов.

Контакт

Нужна такая же инженерная работа?

Опишите задачу и контекст. Ответим в течение рабочего дня, при необходимости подпишем NDA.