Итак, согласие на обновление до SQL Server 2016 наконец-то получено. С чего начать? Первое, что я рекомендую сделать, — добиться, чтобы руководство выделило достаточно времени для планирования обновления. Если только вы не располагаете персональным экземпляром, большинство реальных сред SQL Server с трудом поддаются обновлению. Если вам не выделяют необходимого времени для планирования, покажите начальнику 429-страничное техническое руководство по обновлению SQL Server (http://download.microsoft.com/download/7/1/5/715BDFA7-51B6-4D7B-AF17-61E78C7E538F/SQL_Server_2014_Upgrade_technical_guide.pdf). Компания Microsoft не подготовила варианта для SQL Server 2016, но экземпляр 2014 года тоже подойдет для этой цели.

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

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

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

 

Задачи SQL Server 2016 Upgrade Advisor
Экран. Задачи SQL Server 2016 Upgrade Advisor

Процесс обновления приложений бизнес-аналитики SQL Server несколько сложнее. Помощник по обновлению Microsoft SQL Server 2016 более не охватывает приложения бизнес-аналитики, как это было раньше. Большинство инвестиций в бизнес-аналитику предназначались для перевода пользователей в «облако». Обладатели SQL Server 2008 R2 могут запустить помощник по обновлению Microsoft SQL Server 2012, чтобы получить гораздо более ясное представление о том, что нужно сделать для обновления пакетов служб Integration Services, отчетов служб Reporting Services и кубов Analysis Services. Как правило, обновить службы Analysis Services проще, чем другие области бизнес-аналитики. Для Integration Services и Reporting Services требуется больше шагов.

Поддерживаемые версии обновления

Возможно прямое обновление до SQL Server 2016 следующих версий:

  • SQL Server 2008 SP3 или последующие версии;
  • SQL Server 2008 R2 SP2 или последующие версии;
  • SQL Server 2012 SP1 или последующие версии;
  • SQL Server 2014 или последующие версии.

Если вы хотите обновить давно устаревший сервер SQL Server 2005, то потребуется выполнить миграцию. Этот процесс описан в электронной документации (см. руководство по адресу: https://msdn.microsoft.com/en-us/library/ms143393.aspx).

Среди других неподдерживаемых вариантов:

  • Windows Server 2012+ или Windows 8+ только с процессорами x64;
  • минимум 6 Гбайт пространства, даже если компоненты установлены в другом месте;
  • нет установки на доступных только для чтения, подключенных или сжатых дисках;
  • нет обновления на месте до другой 32/64-разрядной версии;
  • нет обновления на месте от SQL Server 2005 или предыдущих версий;
  • нет кросс-версий экземпляров SQL Server 2016;
  • отказоустойчивые кластеры не поддерживаются в режиме WOW;
  • обновление выпуска Evaluation Edition предыдущей версии SQL Server.

Подходы к обновлению

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

  • обновление на месте;
  • установка с сохранением предыдущей версии;
  • последовательное обновление.

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

При установке с сохранением преды­дущей версии вместо того, чтобы напрямую заменять старый экземпляр SQL Server, требуемые данные базы данных и компонентов пересылаются из старого экземпляра SQL Server 2005, 2008, 2008 R2, 2012 в отдельный экземпляр SQL Server 2016. Этот метод называется «установка с сохранением предыдущей версии», так как новый экземпляр SQL Server 2016 функционирует наряду со старым экземпляром SQL Server на том же или другом сервере.

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

Последовательное обновление

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

Если вы не знаете, какой вариант выбрать, обратитесь к электронной документации по обновлению SQL Server (https://msdn.microsoft.com/en-us/library/mt551979.aspx). Чтобы выбрать правильный подход, воспользуйтесь полезными схемами рабочего процесса.

Рекомендации по областям SQL Server

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

Для ядра системы управления базами данных, если это возможно, протестируйте метод обновления, прежде чем применять его в рабочей среде. После обновления баз данных до SQL Server 2016 нужно выполнить дополнительные шаги, в том числе создать новую резервную копию, включить новые функции и заново заполнить полнотекстовые каталоги. Также в этой версии можно уточнить производительность запросов с помощью функции хранилища запросов (https://msdn.microsoft.com/en-us/library/bb895281.aspx). Не забудьте изменить режим совместимости базы данных и проверить обновление строк подключения для нисходящих приложений.

Если вы используете службы Master Data Services или Data Quality Services, помните, что пользовательские настройки будут перезаписаны. Необходимо сделать резервные копии баз данных MDS и DQS перед обновлением, чтобы предотвратить случайную потерю данных. В SQL Server 2016 в эти приложения внесены изменения на уровне обновления схемы. После обновления до SQL Server 2016 перестанет работать любая предыдущая версия надстроек для Excel. Необходимо уведомить пользователей, чтобы они загрузили версии надстроек Master Data Services или Data Quality Services для Excel, соответствующие SQL Server 2016.

При обновлении SQL Server автоматического обновления пакетов служб Integration Services не происходит. Вам потребуется перенести пакеты после завершения обновления службы с помощью мастера обновления пакетов служб SQL Server Integration Services. Разработчики могут обновить проекты 2012 или 2014 до уровня 2016 без ручной корректировки после обновления. Они также могут выполнить добавочное обновление, не развертывая всего пакета. После обновления нужно проверить, насколько успешно обновлен диспетчер соединений.

Для служб Analysis Services обязательно ознакомьтесь с известными проблемами и обходными решениями в заметках о выпуске SQL Server 2016, в особенности потому, что помощник по обновлению не охватывает службы Analysis Services. В сводке по обратной совместимости содержатся сведения о более не поддерживаемых, не рекомендуемых и измененных компонентах. Для обновления табличной модели служб Analysis Services используйте подходящую версию набора инструментов SQL Server Data Tools (SSDT) (https://msdn.microsoft.com/en-us/library/mt204009.aspx), чтобы изменить свойство Compatibility Level («Уровень совместимости») на SQL Server 2016 RTM (1200). Не используйте среду SQL Server Management Studio (SSMS), программный код или сценарий для изменения уровня совместимости CompatibilityLevel.

Для подготовки к обновлению служб Reporting Services прочитайте об обновлении отчетов в электронной документации. Это не простая процедура. Кроме того, воспользуйтесь средством проверки настроек System Configuration Checker (SCC) для проверки сервера отчетов. Не забудьте сделать резервные копии ключей шифрования, баз данных сервера отчетов, файлов настроек и любых настроек IIS. Поль Турли, специалист по технологиям Microsoft со статусом MVP, освещает эту тему в блоге (https://sqlserverbiblog.files.wordpress.com/2016/02/upgrade-to-sql-server-2014-2016-bi-pturley-solidq.pdf).

Обновление служб бизнес-аналитики SharePoint SQL Server выходит за рамки данной статьи. Эти обновления требуют еще более тщательного планирования. В новейших версиях SharePoint приложения Excel Services более не размещаются на SharePoint Server. Теперь это часть службы Excel Online 2016. Похоже, это изменение смутило многих в начале 2016 года. Новый Office Online Server — обязательный сервер. Без него книги Excel в SharePoint не откроются в браузере. Веб-части Excel не работают без него, а функции Power Pivot, Visio Services и Reporting Services ограничены.

Кроме того, служба бизнес-аналитики SharePoint, размещаемая на сервере SQL Server, требует обновления во всех областях. Необходимо разместить полный набор функций бизнес-аналитики SharePoint 2016 и SQL 2016, используя метод «снизу вверх». Рекомендуемая последовательность обновления:

  1. Обновить ядро системы управления базам данных до версии 2016.
  2. Обновить службы Analysis Services 2016.
  3. Установить Office Online Server.
  4. Обновить SharePoint 2016.
  5. Установить надстройки SQL Server для SharePoint 2016.
  6. При необходимости обновить пользовательские клиенты Excel.

Другой специалист по технологиям Microsoft со статусом MVP, Джон Уайт, прекрасно описывает подробности этого процесса (http://whitepages.unlimitedviz.com/2016/03/business-intelligence-sharepoint-2016/).

Разработка плана обновления

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

Пример плана обновления

Дополнительные ресурсы

Ниже приводится список других ресурсов, полезных при подготовке плана для предстоящего обновления до уровня SQL Server 2016.

  • Помощник по обновлению (https://www.microsoft.com/en-us/download/details.aspx? id=48119).
  • Техническое руководство по обновлению SQL Server 2014 (http://download.microsoft.com/download/7/1/5/715BDFA7-51B6-4D7B-AF17-61E78C7E538F/SQL_Server_2014_Upgrade_technical_guide.pdf).
  • Видео по обновлению от группы разработки продукта (https://www.youtube.com/watch? v=ZF3AU6ydBF4).
  • SQL Server (https://msdn.microsoft.com/en-us/library/bb677622.aspx).
  • Analysis Services (https://msdn.microsoft.com/en-us/library/ms143686.aspx).
  • Reporting Services (https://msdn.microsoft.com/en-us/library/ms143747(v=sql.130).aspx).
  • Устаревшие компоненты (https://msdn.microsoft.com/en-us/library/ms143729 (SQL.130).aspx).
  • Блоги сообщества (https://www.mssqltips.com/sqlservertip/3688/prepare-for-an-upgrade-with-the-sql-server-2016-upgrade-advisor/).

5 основных рекомендаций для администраторов баз данных

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

  • Создайте и поддерживайте стандартизованную среду. Если это возможно, постарайтесь стандартизировать настройки SQL Server. Настройки сервера и виртуальной машины должны быть как можно более схожими. Постарайтесь также использовать одинаковые версии и редакции операционной системы Windows Server и SQL Server. Аналогично, следует постараться, чтобы все планы обслуживания базы данных и задания агентов SQL Server были одинаковыми. Стандартизация среды приведет к снижению операционной сложности и уменьшит вероятность ошибок.
  • Используйте выделенные серверы базы данных для SQL Server. Экземпляры SQL Server должны всегда выполняться на выделенном сервере. Но другие приложения, такие как службы файлов или печати, должны выполняться на том же компьютере, что и экземпляры SQL Server. Аналогично, рекомендуется избегать запуска нескольких экземпляров SQL Server на одном сервере. Из этого правила существуют исключения, сегодня предпочтительно запускать различные экземпляры в отдельных виртуальных машинах. Обязательно отключите любые необязательные службы Windows Server и SQL Server.
  • Следуйте принципу предоставления минимальных прав. Выдавайте каждому пользователю и администратору только необходимые разрешения доступа. Не назначайте разработчикам административные разрешения. Не используйте учетной записи SA для запуска служб и выполнения операций. Специалисты Microsoft рекомендуют запускать службы SQL Server с использованием учетной записи домена. Всегда назначайте учетной записи SA надежный пароль. Убедитесь, что все приложения используют учетные записи домена для доступа к серверу и не задействуют административные учетные записи.
  • Управление данными и файлами журналов. Для данных и файлов журналов почти всегда нужно включать режим AUTOGROW. А вот режим AUTOSHRINK должен быть отключен. Отключение AUTOSHRINK поможет избежать циклов расширения и сжатия. При создании данных и файлов журналов следует запланировать выделение достаточного пространства. Ваши файлы данных MDF и файлы журналов LDF должны размещаться на разных дисках.
  • Внедрите и протестируйте планы резервного копирования и восстановления. Если вам необходимо восстановить данные на определенный момент времени, то в базах данных должны использоваться полная или массовая модели восстановления. Как правило, следует планировать ежедневное полное резервное копирование системной и пользовательской производственных баз данных. Большинство компаний также делает несколько резервных копий файлов журналов через короткие промежутки в течение суток. Если в базе данных используется полная или массовая модель восстановления, необходимо создать резервную копию журнала транзакций для поддержания ее размера. Рекомендуется создать задание агента SQL Server или план обслуживания для автоматизации процессов резервного копирования. В заданиях резервного копирования следует использовать режим RESTORE WITH VERIFYONLY для проверки целостности резервных копий. Регулярно выполняйте тестовые восстановления резервных копий баз данных, чтобы убедиться в их работоспособности.