2010-06-27 4 views
2

Я получаю следующую ошибку.Проблема восстановления версии SQL Server?

Восстановление Сбой сервера

Я недавно модернизированной SQL Server 2005 Express для SQL Server 2008 Express.

  • Я взял резервной копии на сервере производства, имея 2008
  • резервного копирования SQL Server был хороший, и я попытался восстановить резервную копию на производственном сервере, который прекрасно работает.
  • Чем я загрузил этот файл резервной копии в формате .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 Попробуйте взять резервную копию с помощью следующей команды

BACKUP DATABASE go4sharepoint_1384_8481 TO DISK = 'C: \ HostingSpaces \ dbname_jun14_2010_new.bak' с ФОРМАТЕ

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

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

Select @@Version 

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

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

Любые идеи по восстановлению базы данных SQL Server 2008.

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

+2

Остановить запрос на тот же вопрос снова и снова – gbn

+0

[Эта ссылка] (http://blog.sqlauthority.com/2011/05/27/sql-server-copy-database-from-instance-to-another- instance-copy-paste-in-sql-server /) оказался неоценимым, когда я столкнулся с проблемой, пытающейся сделать резервную копию базы данных более старой версией SQL Server. Вы можете скопировать всю базу данных в сценарий и выбрать версию для восстановления! – DevDave

ответ

3

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

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

+0

Я знаю, что я не пытаюсь восстановить БД на SQL Server 2005. У меня есть SQL Server 2008 Express, и я попытался восстановить резервную копию на этом, это дает мне выше ошибки –

+2

@Jordon: Если select @@ version говорит, что у вас есть sql 2005 , то у вас есть sql 2005. Не знаете, почему вы думаете иначе. Ошибка, которую вы получаете, полностью связана с тем, что sql 2005 не может восстановить базу данных sql 2008. – NotMe

+0

Спасибо Крису, поэтому любая идея ... У меня есть SQL Server 2005 Express, чем обновлен до SQL Server 2008 express, по какой-либо причине, почему он все еще показывает SQL Server 2005? Спасибо –

4

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

+1

Я бы это сделал. SQL 2005 = 9.x; 2008 = 10.x –

+0

Согласовано, звучит как установлено несколько экземпляров. Вы можете увидеть все экземпляры в «Мой компьютер»> «Управление»> «Службы» и найти SQL Server (SERVERNAME). Вы можете видеть, к какому серверу вы подключились в окне запроса с этим: SELECT @@ SERVERNAME – 8kb

0

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

0

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

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

  1. Запуск SQL Server Management Studio и подключитесь к экземпляру, где база данных находится
  2. В контекстном меню базы данных перейдите к Задачи | Сгенерировать скрипты .... Это будет вызывать мастера Генерировать и публикация Сценарии
  3. В Введении шаге мастера нажмите кнопку Далее
  4. В Выберите Objects шаге мастера убедитесь, что вся база данных скриптов и все объекты базы данных выбран параметр и нажмите кнопку Далее
  5. в опции шага Набор сценариев мастера:
  6. выберите Сохранить сценарии для конкретного варианта расположения
  7. Указываются ли объекты базы данных и данные будут сценария в один файл несколько файлов, а также пути и кодирование сгенерированных скриптов
  8. Нажмите кнопку Дополнительно
  9. В диалоговом окне Advanced сценариев Параметров, которые будут отображаться:
  10. Укажите версию SQL Server вам понадобится база данных восстановлена ​​в сценарии для опции сервера Version
  11. В скрипте для опции сервера Version указать Схема и данные
  12. Установите следующие параметры в True: Сценарий Логины Сценарий полнотекстовых индексов Script Триггеры нажмите кнопку OK нажмите кнопку Далее
  13. В Резюме шаге мастера нажмите кнопку Далее
  14. В Сохранить или Опубликовать Сценарии шаг мастера нажмите кнопку Готово
  15. Выполнить сгенерированный SQL скрипт (ы) против старшего SQL экземпляра

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

Вы можете ознакомиться с остальной статьей статьи Solution center. Существуют также сторонние инструменты, которые вы можете принять во внимание.

1

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

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

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

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

Смежные вопросы