Не удается восстановить резервные копии системных баз данных на другую сборку SQL Server

Переводы статьи Переводы статьи
Код статьи: 264474 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Проблема

Не удается восстановить резервную копию базы данных (система)Основной обозреватель, модель, или базы данных msdb) на сервер построения, которое отличается от построения на который первоначально копии. При попытке выполнить такое восстановление вызывает возникает следующее сообщение:
Сервер: Сообщение 3168, уровень 16, состояние 1, строка 1
Невозможно восстановить резервную копию системной базы данных на устройстве d:\temp\master.bak, поскольку он был создан другой версии сервера (134217904) по сравнению с данного сервера (134217920).
Сервер: Сообщение 3013, уровень 16, состояние 1, строка 1
Выполняется аварийное ВОССТАНОВЛЕНИЕ базы данных.

Причина

Это возможно, об изменении схемы базы данных для системных баз данных на сервере построений. Чтобы удостовериться, что это изменение в схеме любых несоответствий, один из первой проверки, выполняемые команды RESTORE — сравнение номера сборки сервера в файл резервной копии и номер сборки сервера, на котором пользователь пытается выполнить восстановление. Если две сборки отличаются, появляется сообщение об ошибке и операция восстановления завершается аварийно.

Примечание Установка пакета обновления или исправления построения изменения номера сборки сервера и сервера построения всегда являются добавочными.

Ниже приведены несколько сценариев, в которых наблюдается данная проблема.
  • Пользователь пытается восстановить системную базу данных на сервере a из резервной копии, созданной на сервере б. серверы a и b находятся на другом сервере сборках. Например возможно, сервер a на построении RTM и сервер b может быть на пакет обновления 1 (SP1) построения.
  • Пользователь пытается восстановить системную базу данных из резервной копии, созданной на том же сервере. Сервер был запущен другой построения при с момента резервного копирования. То есть сервер был обновлен после резервного копирования.

Временное решение

Процесс восстановления в ситуации является довольно участвующих и используется только в качестве последнего средства.

Для определения текущей версии сервера и сервера SQL является первым шагом при попытке решения проблемы построения, на которой было выполнено резервное копирование.

Microsoft SQL Server 2000 и Microsoft SQL Server 2005 предоставляют следующие два метода для определения текущего построения SQL Server:
  • Способ 1
    SELECT @@version
    Этот код возвращает текст:
    Microsoft SQL Server  2000 - 8.00.192 (Intel X86)
    Jul 31 2000 15:47:46
    Copyright (c) 1988-2000 Microsoft Corporation 
    Enterprise Edition on Windows NT 5.0 (Build 2195: )
    (1 row(s) affected)
  • Способ 2
    SELECT SERVERPROPERTY('ProductVersion')
    Этот код возвращает текст:
    8.00.192
    (1 row(s) affected)
Для того в данной статье, этот номер сборки ссылается «SQL Server Build» в оставшейся части этой статьи.

Определения построения, на которой с момента резервного копирования с помощью следующей команды в файл резервной копии:
RESTORE HEADERONLY
FROM DISK = 'd:\temp\master176.bak'
В выходных данных, созданный следующие столбцы три (3) предоставляют сведения о построении сервера:
SoftwareVersionMajor SoftwareVersionMinor SoftwareVersionBuild
-------------------- -------------------- --------------------
8                    0                    176

The actual output has several other columns; however, only the columns that are of interest are included in this article for clarity.
Для того в данной статье, этот номер построения ссылаться как «резервная копия Build» для оставшейся части статьи.

В приведенном примере «SQL Server Build» является 8.00.192, тогда как «Резервная копия Build» является 8.00.176. Поскольку две сборки отличаются, операция восстановления не разрешается, и появляется сообщение об ошибке 3168.

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

Если попытка восстановления на Основной обозреватель базы данных, можно использовать следующие шаги для успешного восстановления:
  1. Отсоединить все пользовательские базы данных, которые существуют в системе с помощью sp_detach_db Хранимая процедура. Для получения дополнительных сведений об отсоединении базы данных пользователя обратитесь к теме баз «присоединение и отсоединение данных» в электронной документации по SQL Server 2000. При использовании SQL Server 2005, содержатся в разделе «Detaching и присоединение базы данных» раздела в электронной документации по SQL Server 2005. Как перекрестная проверка следующий запрос возвращает список всех пользовательских баз данных в системе.
    SELECT name FROM SYSDATABASES
    WHERE dbid > 4
  2. Резервное копирование базы данных msdb и модель базы данных в системе с помощью следующей команды:
    BACKUP DATABASE MSDB TO DISK = '<backup device>' WITH NOINIT, NOSKIP
    BACKUP DATABASE MODEL TO DISK = '<backup device>' WITH NOINIT, NOSKIP
  3. Если «Резервная копия Build» больше "SQL Server Build", установить все необходимые пакеты или исправление построений для наката серверного программного обеспечения вперед "Резервная копия построение", был определен ранее. Затем перейдите к шагу 6.
  4. Удалите SQL Server 2000 или SQL Server 2005. Дополнительные сведения об удалении SQL Server 2000 можно найти в разделе «Как удалить SQL Server 2000» в электронной документации по SQL Server 2000.
  5. Переустановите SQL Server 2000 или SQL Server 2005 и все необходимые пакеты обновления или исправления построений для наката серверного программного обеспечения вперед "Резервная копия построение", был определен ранее.
  6. Запустите сервер в однопользовательский режим и восстановления Основной обозреватель База данных с помощью файла резервной копии для данного построения. Инструкции по восстановлению Основной обозреватель базы данных, обратитесь к разделу «База восстановление в образец данных из текущей архивации» в электронной документации по SQL Server 2000. При использовании SQL Server 2005, см. в разделе «Восстановление базы данных master» в электронной документации по SQL Server 2005.
  7. После восстановления Основной обозреватель базы данных, необходимо завершить вниз и перезапустить службу SQL Server.
  8. Если «Резервная копия Build» больше «SQL Server Build», перейдите к шагу 10.
  9. Повторно примените все пакеты обновления и исправления построений, необходимые для отката серверного программного обеспечения вперед «построение SQL Server».
  10. Восстановление базы данных msdb и модель базы данных из резервной копии, созданной на шаге 2. При использовании SQL Server 2005, см. в разделе «Восстановление базы данных model и msdb» в электронной документации по SQL Server 2005.
  11. Повторно подключите все пользовательские базы данных с помощью sp_attach_db Хранимая процедура. Для получения дополнительных сведений о том, как подключить базу данных, обратитесь к разделу баз «присоединение и отсоединение данных» в электронной документации по SQL Server 2000.
Любые изменения, внесенные в Основной обозреватель базы данных после архивации Основной обозреватель была выполнена, теперь потеряна и необходимо вручную заново.
При попытке восстановления на модель или базы данных msdb базы данных, можно использовать следующие шаги для решения этой проблемы. Для иллюстрации этой процедуры с примером в данной статье относится к исходного сервера на один из этих баз данных сказать базы данных msdb, будет восстановлена в качестве сервера A. Эта процедура включает в себя установки SQL Server на другой сервер B, чтобы избежать появления сообщения об ошибке 3168. Конечно, подразумевается только наличие правильной архивной копии из старых построения для базы данных msdb на сервере а.
  1. Установка SQL Server 2000 на сервер B (с теми же настройками параметров сортировки сервера A) и все пакеты обновления и исправления построения необходимо получить серверное программное обеспечение "Резервная копия построить".
  2. После установки SQL Server 2000 запуск службы SQL Server, а затем попробуйте восстановить базы данных msdb База данных из файла резервной копии. Works восстановления, если сервер сборки и сборки идентичны для которого было выполнено резервное копирование.
  3. Если «Резервная копия Build» больше «текущего построения», перейдите к шагу 5.
  4. После успешного восстановления обновления SQL Server 2000 на сервере B, применив все пакеты обновления и исправления строит необходимые для отката серверного программного обеспечения вперед «текущего построения».
  5. После завершения обновления, выполните резервное копирование базы данных msdb База данных. Теперь можно восстановить из этой резервной копии на сервере A, учитывая, построение сервера, на котором было выполнено резервное копирование и «текущий Build» идентичны.
Та же процедура работает для модель а также базы данных. Опять же все изменения, внесенные в эти базы данных, поскольку резервной копии теряются и необходимо вручную заново.

Дополнительная информация

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

Свойства

Код статьи: 264474 - Последний отзыв: 5 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Ключевые слова: 
kbbackup kbprb kbmt KB264474 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:264474

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com