Ошибка резервного копирования / восстановления SQL Server Express: неправильно сформировано семейство носителей на устройстве
По сути, у меня возникла эта проблема: http://www.sqlcoffee.com/Troubleshooting047.htm Я запускаю скрипт, который я нашел в Интернете ( http://pastebin.com/3n0ZfybL) для создания полной резервной копии затем скопировал файл и перенес его на мой компьютер. CRC файла резервной копии внутри rar является правильным на обоих компьютерах, поэтому нет проблем с повреждением данных при их передаче. Но тогда я иду и пытаюсь восстановить базу данных на моем компьютере разработчика здесь, и я получаю ошибки "SQL Server не может обработать это семейство носителей"... "msg 3013". Почему это происходит? Я бы протестировал резервную копию на сервере, с которого я ее получаю, но это рабочий сервер.
Изменить: я собирался сказать, что я не делал ничего глупого, как попытаться восстановить базу данных в более ранней версии SQL Server, но, очевидно, я:
От: Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86) 29 марта 2009 г. 10:27:29 Copyright (c) 1988-2008 Microsoft Corporation Express Edition на Windows NT 6.0 (сборка 6002: пакет обновления 2)
Кому: Microsoft SQL Server 2005 - 9.00.3042.00 (Intel X86) 9 февраля 2007 г. 22:47:07 Copyright (c) 1988-2005 Microsoft Corporation Express Edition на Windows NT 6.0 (сборка 6001: пакет обновления 1)
Позвольте мне вернуться к этому посту после переустановки.
Изменить: Хорошо, я удалил SQL Server 2005 и 2008, переустановил, и теперь я получаю ту же версию, что и рабочий сервер, когда я выбираю @@version. Тем не мение:
System.Data.SqlClient.SqlError: Носитель, загруженный в "C:\Backup\db.bak", отформатирован для поддержки 1 семейств носителей, но в соответствии со спецификацией устройства резервного копирования ожидается 2 семейства носителей.
2 ответа
Вы можете восстановить вперед (2005-> 2008), но вы не можете восстановить обратно до более ранних версий.
Эта ошибка означает, что вы использовали несколько файлов для резервного копирования, и вы предоставляете только один из файлов, когда пытаетесь восстановить. Скорее всего, причина была в том, что при резервном копировании с помощью SQL Server Management Studio кто-то забыл нажать "удалить", чтобы удалить все существующие места назначения резервной копии, прежде чем "добавить" файл, в который вы хотите создать резервную копию.
Попробуйте восстановить с помощью этой команды, чтобы убедиться, что файл резервной копии не поврежден:
RESTORE VERIFYONLY FROM DISK='D:\yourbackupfile.BAK'
Кроме того, почему бы не использовать встроенные средства SQL Server для резервного копирования и попробовать восстановить этот набор и убедиться, что он работает?