SQL Server 2008 предусматривает прямую модернизацию на месте с версий SQL Server 2005 и SQL Server 2000. Однако, поскольку функционирование SQL Server 2000 в среде Windows Server 2008 невозможно, как и работа SQL Server 2008 в среде Windows 2000 Server, модернизации подлежат лишь базы данных SQL Server 2000, размещенные на системах Windows Server 2003. Если в компании база данных SQL Server 2000 установлена в системе Windows 2000, рассмотрите вариант миграции (такую возможность SQL Server 2008 предусматривает), а не модернизации. Сведения о переходе на систему SQL Server 2008 можно найти в подготовленной специалистами Microsoft статье «Migrating to SQL Server 2008», размещенной по адресу msdn.microsoft.com/en-us/library/bb677619.aspx. Для тех же, кто в будущем намерен осуществить модернизацию, я расскажу, как обновить версию SQL Server 2000 до уровня SQL Server 2008.

Условия, необходимые для модернизации SQL Server 2000

Перед тем как приступать к модернизации, необходимо убедиться, что в системе Windows 2003 установлен пакет обновлений SP2 или более новой версии, а в вашем экземпляре SQL Server 2000 — пакет SP4. Служба Windows Installer должна быть запущена. Кроме того, нужно иметь в виду, что процедуру модернизации нельзя выполнять, если предстоит перезапуск системы (например, для установки обновлений) или если не работают счетчики производительности. Программа установки SQL Server 2008 осуществляет соответствующие проверки до начала выполнения процедуры модернизации.

Microsoft поддерживает лишь некоторые варианты обновления SQL Server 2000 до уровня SQL Server 2008. Эти варианты перечислены в таблице.

Поддерживаемые варианты модернизации

Эмпирическое правило гласит: систему SQL Server 2000 можно модернизировать до уровня эквивалентной или старшей версии SQL Server 2008, но нельзя — до уровня младшей версии SQL Server 2008. Пример: модернизация пакета SQL Server 2000 Standard Edition до уровня SQL Server 2008 Enterprise Edition допускается, но обновление SQL Server 2000 Enterprise до уровня SQL Server 2008 Standard невозможно. Также не предусмотрено обновление 32-разрядного экземпляра с получением на выходе 64-разрядного экземпляра, хотя возможно объединение по схеме «отключить и восстановить», если базы данных не опубликованы в репликации. Недостаток модернизации по схеме «отключить и восстановить» состоит в том, что администратору приходится вновь создавать все используемые для регистрации в системе учетные данные и пользовательские объекты в главной базе данных, в базе данных msdb и в системных базах данных на 64-разрядном экземпляре SQL Server 2008.

При обновлении реплицированных баз данных распространителя необходимо обновлять до базы данных публикатора, поскольку версия распространителя должна быть идентичной версии публикатора или более поздней. Нужно иметь в виду, что обновление отказоустойчивых кластеров IA64 не поддерживается и что службу SQL Server Analysis Services (SSAS) нельзя обновлять до уровня SQL Server 2008 с отказоустойчивым кластером.

SQL Server 2008 Upgrade Advisor

Программа SQL Server 2008 Upgrade Advisor, которую можно установить с носителя SQL Server 2008, позволяет следить за состоянием обновления процессора базы данных, SSAS, служб SQL Server 2005 Reporting Services и SQL Server Integration Services (SSIS), а также DTS.?Такие компоненты, как .NET Framework 2.0 и Windows Installer 4.5, автоматически устанавливаются до того, как пользователь сможет запустить программу Upgrade Advisor,?— если они еще не установлены в среде Windows 2003.

Процедура использования Upgrade Advisor состоит из семи этапов.

Выбор компонентов для?анализа

  1. С установочного носителя SQL Server 2008 или с Web-узла Microsoft Download Center (www.microsoft.com/downloads/details.aspx?FamilyId=F5A6C5E9–4CD9–4E42-A21C-7291E7F0F852) необходимо установить программу Upgrade Advisor. Эта программа может выполняться под управлением Windows Vista, Windows 2003 SP1 и Windows XP SP2. При необходимости запускать Upgrade Advisor можно дистанционно. Если желательно, чтобы консультант Upgrade Advisor проверял службы аналитики SSAS 2000, на сканирующем компьютере должны быть установлены объекты SQL Server 2000 Decision Support Objects. Для проверки пакетов DTS SQL Server 2000 необходимо установить на сканирующем компьютере клиентские компоненты SQL Server 2000. И, поскольку возникает необходимость установки компонентов SQL Server 2000, часто бывает проще всего запускать программу Upgrade Advisor на компьютере с SQL Server 2000.
  2. Следует запустить мастер Upgrade Advisor Analysis Wizard, ввести имя целевого сервера и выбрать компоненты SQL Server, которые предстоит проанализировать, как показано на экране 1. Если требуется определить, какие компоненты установлены на целевом компьютере, нажмите кнопку Detect.
  3. Введите учетные данные и укажите метод аутентификации, который будете использовать для соединения с экземпляром SQL Server и для выполнения проверки. Если оба компьютера являются членами одного домена OLAP Administrators, в ходе проверки по умолчанию будут использоваться учетные данные зарегистрировавшегося пользователя. Используйте учетную запись, назначенную роли системного администратора на целевом сервере SQL Server 2000. Если вы хотите исследовать службы аналитики SQL Server, учетная запись должна быть также членом локальной группы OLAP Administrators целевого сервера SQL Server 2000.
  4. На странице мастера SQL Server Parameters необходимо выбрать базы данных целевого сервера, которые предстоит анализировать. Чтобы исследовать файлы трассировки или пакетные файлы SQL, установите соответствующий флажок (флажки) и укажите путь к файлам.
  5. Введите параметры для других служб, таких как SSAS или DTS. Если вы выбрали DTS, можете проанализировать все пакеты DTS или указать путь к тем, которые вас интересуют.
  6. Начните проверку. Ее продолжительность будет зависеть от числа компонентов, которые предстоит проверить программе Upgrade Advisor.
  7. По окончании анализа нажмите кнопку Launch Report. На экране 2 показан образец отчета.

После установки программы Update Advisor средство проверки системной конфигурации определяет, соответствует ли сервер предварительным требованиям для успешной установки продукта SQL Server 2008. Проверка повторяется в начале процесса модернизации.

Модернизация службы SSAS

Если в состав установленной системы SQL Server 2000 входят службы аналитики SQL Server, специалисты Microsoft рекомендуют не обновлять SSAS при выполнении остальных этапов модернизации. Вместо этого рекомендуется установить SSAS 2008 на том же компьютере параллельно с существующими службами SSAS 2000. Далее, следуя приводимым здесь пошаговым инструкциям, нужно обновить базы данных SSAS до формата SSAS 2008 и удалить SSAS 2000. И только после этого можно приступать к обновлению процессора базы данных до уровня SQL Server 2008.

  1. Двойным щелчком на файле setup.exe, который находится на установочном диске, откройте программу установки SQL Server.
  2. Выберите пункты Installation, а затем New Installation или Add Features to an Existing Installation.
  3. Введите ключ продукта, просмотрите условия лицензирования и установите загрузочные файлы.
  4. На странице Feature Selection выберите только инструменты Analysis Services и SQL Server Management Studio (SSMS), как показано на экране 3. Помните, что вы будете выполнять обновление других компонентов SQL Server 2000.
  5. На странице Instance Configuration создайте именованный экземпляр; использовать предлагаемый по умолчанию экземпляр не следует. Если не создать именованный экземпляр, у вас возникнут проблемы с переносом существующих баз данных SSAS в SQL Server 2008.
  6. для служб SSAS укажите учетную запись службы — желательно доменную учетную запись — и пользователей, которые должны иметь административные разрешения для работы с SSAS. Можно добавить к списку учетную запись пользователя, который выполняет установку на этой странице. После того как программа установки выполнит завершающую проверку, можно устанавливать SSAS 2008.
  7. По завершении установки служб аналитики запустите SSMS, нажмите кнопку Connect to Analysis Services, правой кнопкой мыши щелкните на созданном экземпляре и выберите элемент Migrate Database, с тем чтобы запустить мастер Analysis Services Migration Wizard. Укажите исходный и целевой серверы, как показано на экране 4.
  8. Выберите базы данных, которые предстоит переносить. Мастер проверит метаданные каждой базы и затем перенесет эти базы данных в SSAS 2008.
  9. По завершении переноса баз данных удалите службы SSAS 2000 с помощью оснастки Add or Remove Programs панели управления.

Указание исходного и?целевого сервера

Модернизация: пошаговые инструкции

После того как будет запущена программа Upgrade Advisor и обновлены службы SSAS, можно приступать к модернизации SQL Server 2008. Следующие инструкции и примеры описывают процедуру обновления экземпляра SQL Server 2000 SP4 Enterprise Edition с установленной базой данных AdventureWorks к версии SQL Server 2008 Enterprise Edition. Данные инструкции должны быть применимы к модернизации других выпусков SQL Server 2000 до уровня SQL Server 2008.

  1. Запустите SQL Server Installation Center, показанный на экране 5. Для этого нужно либо запустить файл setup.exe, либо двойным щелчком мыши по значку диска с файлами установки запустить режим автоустановки. Если вы еще не запускали приложение Upgrade Advisor, возможно, вам будет предложено установить компоненты .NET Framework 2.0 и Windows Installer 4.5.
  2. 2. Нажмите кнопку Installation и выберите элемент Upgrade from SQL Server 2000 or SQL Server 2005. Программа установки проверит, соответствует ли главный сервер SQL Server 2000 минимальному набору требований для установки. Если на данном этапе программа обнаружит какую-либо проблему, следует остановить работу установщика, решить проблему и вновь приступить к модернизации.
  3. Введите лицензионный ключ и примите условия лицензионного соглашения. Перед тем как продолжить установку, загрузите файлы поддержки установки.
  4. На странице Select Instance выберите экземпляр продукта SQL Server 2000, который хотите модернизировать.
  5. По умолчанию будут модернизированы компоненты SQL Server 2000 Database Engine, SQL Server Replication, Full-Text Search, SSAS и Management Tools. Ни один из них нельзя исключить из списка, если вы выбрали вариант полной модернизации. Если же вы остановились на варианте с модернизацией совместно используемых средств, можете модернизировать только их. Просмотрите выполненные в автоматическом режиме варианты выбора и нажмите кнопку Next.
  6. На странице Instance Configuration выберите идентификатор экземпляра и нажмите Next.
  7. Когда вы дойдете до страницы Disk Space Requirements, программа модернизации проверит, достаточно ли на диске места для обновления. Всего необходимо порядка 2 Гбайт: примерно 700 Мбайт на системном накопителе, 600 Мбайт на томе, где хранятся программные файлы, и еще 700 Мбайт на томе, где хранится обновляемый экземпляр. Нажмите кнопку Next.
  8. На странице Service Accounts следует указать учетную запись с низким уровнем привилегий, которая будет присвоена службе SQL Full-text Filter Daemon Launcher. Служба SQL Server Browser по умолчанию будет располагаться в каталоге NT AUTHORITYLOCAL SYSTEM. Вообще же для каждой службы следует выбирать отдельную именованную учетную запись с низким уровнем привилегий.
  9. На странице Full-text Upgrade можно указать, какую операцию нужно выполнить с полнотекстовыми каталогами — импортировать их, перестроить или сбросить. Импорт выполняется быстрее всего, но в этом случае не используются новые и усовершенствованные средства разбиения текста на слова, которые определяют границы слов в тексте. Вариант Rebuild предполагает использование усовершенствованных средств разбиения текста на слова, но при его использовании возможно снижение производительности системы. Лучший выбор во многих случаях — Reset; при этом файлы каталога удаляются, но метаданные для каталогов и индексов сохраняются. На момент завершения модернизации соответствующий каталог будет оставаться пустым до тех пор, пока вы не заполните его новым содержимым.
  10. На странице Error and Usage Reporting нужно указать, куда вы хотели бы направлять отчеты об ошибках Windows и SQL Server — в Microsoft или на корпоративный сервер отчетов фирмы. Можно также разрешить направление в Microsoft данных о средствах и использовании. По умолчанию эти функции отключены.
  11. На странице Upgrade Rules отображены результаты 29 тестов, выполняемых программой установки. Эти тесты не столь обстоятельны, как те, что выполняются приложением Upgrade Advisor.
  12. Затем программа создает сводку данных по модернизации и отображает путь к файлу конфигурации. Нажмите кнопку Upgrade; тем самым вы запустите процесс модернизации до версии SQL Server 2008. В зависимости от аппаратной конфигурации процесс модернизации может занять от 30 минут до нескольких часов. На протяжении всего процесса база данных остается недоступной для пользователей.
  13. По завершении модернизации мастер сообщит о состоянии каждого компонента. На последней странице мастера модернизации указывается местонахождение журнала модернизации. Пакеты, содержащие только задания и функции, имеющиеся в SSIS, будут перенесены успешно.

Модернизация DTS

После обновления SQL Server 2000 до уровня SQL Server 2008 необходимо с помощью мастера DTS Package Migration Wizard перевести пакеты DTS в формат SSIS. Как правило, процедура переноса выполняется успешно — если только пакеты не содержат незарегистрированные объекты и в них не используются сценарии. Пакеты, содержащие только задания и функции, присутствующие в SSIS, будут перенесены успешно. Однако в конечном итоге придется заменить эти функции DTS их эквивалентами в формате SSIS. Дополнительные сведения о переводе пакетов DTS в формат SSIS можно найти в электронной документации SQL Server 2008 Books Online.

«Подводные камни»

Есть несколько вещей, которым следует уделять особое внимание в процессе модернизации. В одном из сообщений блога Microsoft признается возможность возникновения проблем в случае, если попытка обновления до уровня SQL Server 2008 осуществляется после изменения имени учетной записи системного администратора (systems administrator, sa) обновляемой базы данных. По всей видимости, имя пользователя sa запрограммировано по крайней мере в один вызов сценария sqlagent (100_msdb_upgrade.sql), так что в случае изменения имени учетной записи сценарий не выполняется. Проблему можно устранить, присвоив учетной записи имя sa или создав временную доменную учетную запись пользователя с именем sa и добавив ее в группу Database Administrators.

Кроме того, если вы намереваетесь применить к обновленным базам данных предложения APPLY, PIVOT, UNPIVOT или TABLESAMPLE, установите уровень совместимости базы данных равным 100 с помощью хранимой процедуры sp_dbcmptlevel; в противном случае результаты могут быть неожиданные.

Другие соображения

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

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

Орин Томас (orin@windowsitpro.com) — редактор Windows IT Pro, обладатель сертификата Windows Security MVP


Образец отчета Upgrade Advisor

Выбор функций для модернизации SSAS

Центр установки SQL Server