Вопросы обновления компонента Database Engine

Компонент SQL Server Database Engine может быть обновлен до SQL Server 2008. Дополнительные сведения о поддерживаемых способах обновления см. в разделе Обновления версий и выпусков.

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

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

  • Известные проблемы, связанные с обновлением.

  • Задачи и вопросы, предшествующие обновлению.

  • Ссылки на методические разделы по обновлению компонента Database Engine.

  • Ссылки на методические разделы по миграции баз данных в SQL Server.

  • Вопросы, касающиеся отказоустойчивых кластеров.

  • Задачи и вопросы, следующие за обновлением.

Известные проблемы, связанные с обновлением

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

Важное примечаниеВажно!

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

Контрольный список действий перед обновлением

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

Перед обновлением компонента Database Engine, выполните следующие действия.

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

  • При переходе с 64-разрядного выпуска SQL Server на 64-разрядный выпуск SQL Server 2008 службы Analysis Services сначала необходимо обновить компонент Database Engine.

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

  • Создайте резервные копии всех файлов баз данных SQL Server на обновляемых экземплярах, чтобы при необходимости можно было восстановить их.

  • Выполните в обновляемых базах данных соответствующие команды DBCC, чтобы убедиться в том, что они находятся в согласованном состоянии.

  • Оцените, сколько места на диске, помимо занимаемого пользовательскими базами данных, понадобится для обновления компонентов SQL Server. Дополнительные сведения о том, сколько места на диске занимают компоненты SQL Server, см. в разделе Требования к оборудованию и программному обеспечению для установки SQL Server 2008.

  • Убедитесь, что существующие системные базы данных SQL Server — master, model, msdb и tempdb — настроены для автоувеличения и что на жестком диске достаточно свободного места.

  • Убедитесь, что на всех серверах баз данных содержатся данные входа в базе данных master. Это важно для восстановления базы данных из копии, так как системные данные для входа хранятся в базе данных master.

  • Отключите все хранимые процедуры, запускаемые при старте системы; это необходимо потому, что процесс обновления будет останавливать и запускать службы на обновляемом экземпляре SQL Server. Хранимые процедуры, запускаемые при старте системы, могут блокировать процесс обновления.

  • Остановите репликацию и убедитесь в том, что журнал репликации пуст.

  • При обновлении экземпляра SQL Server 2000 Database Engine сохраняется значение параметра конфигурации max worker threads. Однако рекомендуется перед началом обновления сбросить параметр max worker threads в значение 0, чтобы компонент Database Engine мог самостоятельно подобрать оптимальное число потоков. Дополнительные сведения см. в разделе Параметр max worker threads электронной документации по SQL Server.

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

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

Обновление компонента Database Engine

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

ПредупреждениеВнимание!

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

Обновление компонента Database Engine можно выполнить при помощи мастера установки SQL Server.

ПредупреждениеВнимание!

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

Уровень совместимости баз данных после обновления

Уровни совместимости баз данных tempdb, model, msdb и Resource после обновления устанавливаются на 100. У системной базы данных master сохраняется тот же уровень совместимости, какой был до обновления, кроме случаев, когда он меньше 80. Если уровень совместимости базы данных master до обновления был меньше 80, то после обновления он принимает значение 80.

Если уровень совместимости пользовательской базы данных до обновления был 80 или 90, он остается неизменным. Если уровень совместимости до обновления был 70 или меньше, то в обновленной базе данных он устанавливается на 80, что является самым низким поддерживаемым уровнем совместимости в SQL Server 2008.

ПримечаниеПримечание

Новые пользовательские базы данных наследуют уровень совместимости базы данных model.

Миграция баз данных

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

Важное примечаниеВажно!

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

Дополнительные сведения см. в разделе Использование мастера копирования баз данных или Как обновить SQL Server 2005 с помощью мастера копирования баз данных.

После обновления ядра СУБД

После обновления компонента Database Engine выполните следующие действия.

  • Повторно зарегистрируйте серверы. Дополнительные сведения о регистрации серверов см. в разделе Регистрация серверов электронной документации по SQL Server.

  • Повторно выполните заполнение полнотекстового каталога. Это позволить повысить производительность установки SQL Server. Дополнительные сведения см. в разделе sp_fulltext_catalog (Transact-SQL) электронной документации по SQL Server.

  • После обновления с версии SQL Server 2000 обновите статистику для всех баз данных. Используйте хранимую процедуру sp_updatestats для обновления статистики в пользовательских таблицах баз данных SQL Server. Этот шаг не является необходимым для обновления с версии SQL Server 2005.

  • Для каждой из баз данных выполните инструкцию DBCC UPDATEUSAGE, чтобы исправить неверные счетчики строк и страниц.

  • Настройте установку SQL Server. Чтобы сократить уязвимую для атак контактную зону системы, SQL Server выборочно устанавливает и активирует ключевые службы и функции.

  • Проверьте или удалите подсказки USE PLAN, которые формируются SQL Server 2005 и применяются в запросах для секционированных таблиц и индексов.

    В SQL Server 2008 изменился способ обработки запросов к страницам секционированных таблиц и индексов. Запросы к секционированным объектам с подсказкой USE PLAN для планов, сформированных SQL Server 2005, могут оказаться несовместимыми с SQL Server 2008. После выполнения обновления до SQL Server 2008 рекомендуется выполнить следующие процедуры.

    Если подсказка USE PLAN указана непосредственно в запросе

    1. Удалите подсказку USE PLAN из запроса.

    2. Проверьте работу запроса.

    3. Если оптимизатор не выбрал подходящий план, настройте запрос и затем укажите подсказку USE PLAN с нужным планом запроса.

    Если подсказка USE PLAN указана непосредственно в структуре плана

    1. При помощи функции sys.fn_validate_plan_guide проверьте правильность структуры плана. Кроме того, проверить недопустимые планы можно в приложении Приложение SQL Server Profiler по событию Plan Guide Unsuccessful.

    2. Если структура плана неверна, удалите ее. Если оптимизатор не выбрал подходящий план, настройте запрос и укажите подсказку USE PLAN с нужным планом запроса.

    Если в подсказке USE PLAN указан неверный план, это не приведет к ошибке выполнения. Вместо этого запрос будет скомпилирован без учета подсказки. Дополнительные сведения об обработке запроса для секционированных объектов см. в разделе Улучшенные возможности обработки запросов для секционированных таблиц и индексов.

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

EXEC sp_fulltext_service 'pause_indexing', 1

Для возобновления заполнения полнотекстового индекса выполните следующую инструкцию.

EXEC sp_fulltext_service 'pause_indexing', 0

Журнал изменений

Обновленное содержимое

В разделе «После обновления компонента Database Engine» изменена рекомендация обновления статистики после перехода с SQL Server 2000.