Проблема восстановления версии SQL Server? - PullRequest
2 голосов
/ 27 июня 2010

Я получаю следующую ошибку.

Ошибка восстановления для сервера

Я недавно обновил SQL Server 2005 Express до SQL Server 2008 Express.

  • Я сделал резервную копию на производственном сервере с SQL Server 2008
  • Резервное копирование прошло успешно, и я попытался восстановить Резервное копирование на производственном сервере, который отлично работает.
  • Чем я скачал этот файл резервной копии в формате .Zip с помощью FileZila Software (и это тоже хорошо).
  • Но когда я пытался восстановить этот файл, я получаю следующую ошибку.

Ошибка восстановления для сервера

Исключительная ситуация при выполнении инструкции или пакета Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)

------------------------------ ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:

Семейство носителей на устройстве 'C: \ go4sharepoint_1384_8481.bak' сформировано неправильно. SQL Server не может обработать это семейство носителей. RESTORE HEADERONLY завершается ненормально. (Microsoft SQL Server, ошибка: 3241)

Для получения справки, нажмите: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.4053&EvtSrc=MSSQLServer&EvtID=3241&LinkId=20476

Вещи, которые я пробовал, которые не работали

Попытка 1 Попробуйте сделать резервную копию, используя следующую команду

РЕЗЕРВНАЯ БАЗА ДАННЫХ go4sharepoint_1384_8481 TO DISK = 'C: \ HostingSpaces \ dbname_jun14_2010_new.bak' с FORMAT

И попытался восстановить этот файл.

Попытка 2 Кто-то написал для проверки Версии моего SQL Server. Когда я попытался выполнить следующую команду в SQL Server 2008

Select @@Version

дает следующий вывод Microsoft SQL Server 2005 - 9.00.4053.00 (Intel X86) 26 мая 2009 г. 14:24:20 Copyright (c) 1988-2005 Microsoft Corporation Express Edition для Windows NT 6.0 (сборка 6002: пакет обновления 2)

Моя производственная база данных находится в SQL Server 2008, и я пытаюсь восстановить БД в SQL Server 2008, но вышеприведенная версия показывает, как будто я использую SQL Server 2005.

Есть идеи, как восстановить базу данных SQL Server 2008.

Большое спасибо.

Ответы [ 5 ]

4 голосов
/ 28 июня 2010

Возможно ли, что вместо обновления вашего экземпляра 2005 до 2008 вы вместо этого установили 2008 рядом с 2005, и вы подключаетесь к существующему экземпляру 2005?Найдите другие экземпляры на вашем компьютере.

3 голосов
/ 27 июня 2010

Вы не можете восстановить резервную копию из более высокой версии SQL Server в более низкой версии - это никогда не было возможно в SQL Server.

Если у вас есть резервная копия SQL Server 2008, вы можете только восстановить ее на компьютере с SQL Server 2008 (или новее), но не на коробке 2005 года. Нет хитрости, нет обходного пути, нет способа сделать это.

1 голос
/ 10 июля 2015

У вас есть 2 варианта здесь.

Используйте WITH REPLACE при использовании команды RESTORE. Это перезапишет существующую базу данных и восстановит состояние базы данных, представленное файлами резервных копий.

Удалите базу данных, в которую вы пытаетесь восстановить, и восстановите снова, используя команду RESTORE. Это создаст новую базу данных с состоянием, представленным файлами резервной копии.

Обратите внимание, что в обоих этих вариантах вы потеряете существующие данные базы данных, в которую вы пытаетесь восстановить.

0 голосов
/ 01 апреля 2014

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

Вы можете попробовать:

  1. Запустить SQL Server Management Studio и подключиться к экземпляру, где находится база данных
  2. В контекстном меню базы данных перейдите к Задачи |Генерация сценариев ...Это вызовет мастер создания и публикации сценариев
  3. . На шаге Введение мастера нажмите Далее
  4. . На шаге Выбор объектов мастера убедитесь, что опция Сценарий всей базы данных и всех объектов базы данных включена.и нажмите Далее
  5. На шаге мастера установки параметров сценариев:
  6. Выберите параметр Сохранить сценарии в определенном месте
  7. Укажите, будут ли объекты и данные базы данныхв один файл можно записать несколько файлов, а также путь и кодировку сгенерированных сценариев
  8. Нажмите Дополнительно
  9. В появившемся диалоговом окне Дополнительные параметры сценариев:
  10. Укажите версию SQL Server, для которой требуется восстановить базу данных, в опции «Сценарий для версии сервера»
  11. . В опции «Сценарий для версии сервера» укажите «Схема и данные»
  12. . Установите для следующих параметров значение «Истина»:Скриптовые логины Скриптовые полнотекстовые индексы Скриптовые триггеры Нажмите OK Нажмите Next
  13. Inна шаге Сводка мастера нажмите кнопку Далее
  14. . На шаге мастера Сохранить или опубликовать сценарии мастера нажмите кнопку Готово
  15. Выполнить сгенерированные сценарии SQL для более старого экземпляра SQL

Хотя описанная выше процедура должна работать: 1. Она не переносит все объекты базы данных (например, последовательности или очереди). 2. Может произойти сбой, если ваша база данных содержит зависимости, которые SQL Server не может распознать (например, зависимости отбазы данных, расположенные на связанных серверах)

Остальную часть статьи вы можете посмотреть в Solution center .Есть также сторонние инструменты, которые вы можете принять во внимание.

0 голосов
/ 28 июня 2010

Убедитесь, что он установлен правильно - в вашей папке files \ microsoft sql server есть папка 100/150 Проверьте журнал установки в настройках начальной загрузки \ log.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...