«Нет резервной копии, выбранной для восстановления» SQL Server 2012

У меня есть база данных SQL Server 2012 с включенным фильтром. Однако, когда я делаю резервное копирование и пытаюсь восстановить его на другом экземпляре SQL Server 2012 (на другом компьютере), я просто получаю это сообщение:

Не выбран резервный набор для восстановления.

Ни одной строки больше объяснений. Что здесь не так?

Каждая другая база данных без фильтра не работает и может быть успешно восстановлена. Это что-то связано с filestream? Должен ли я установить исправление или что-то в этом роде.

sql-server,restore,sql-server-2012,

110

Ответов: 19


136 принят

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

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file><YourDatabase>.bak'

Это должно дать вам сообщение об ошибке, которое необходимо отладить.


54

Моя проблема в конечном итоге была разрешением . Я нахожусь на dev-машине и скопирован через Homegroup. Как-то, возможно, на основе того, где я скопировал файл, разрешения были перепутаны, и Management Studio не смог прочитать файл. Поскольку это dev, я просто предоставил все разрешения для файла bak и смог успешно восстановить его через графический интерфейс.


20

При запуске:

RESTORE DATABASE <YourDatabase> 
FROM DISK='<the path to your backup file><YourDatabase>.bak'

Это дало мне следующую ошибку:

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

Оказывается, вы не можете взять БД из более высокой версии SQL в более низкую, даже если уровень совместимости одинаковый как в исходной, так и в целевой БД. Чтобы проверить запуск SQL-версии:

Select @@Version

Чтобы увидеть разницу, просто создайте БД на исходном SQL-сервере и попробуйте сделать восстановление из вашего файла резервной копии, когда вы сделаете это с помощью SSMS, как только вы выберете файл резервной копии, он покажет некоторую информацию об этом, как опознал, когда вы откройте его с сервера с более низкой версией, который просто скажет: «no backupset выбрано для восстановления» введите описание изображения здесь

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


10

Запустите SQL Server Management Studio в качестве администратора (щелкните правой кнопкой мыши> Запуск от имени администратора), затем попробуйте восстановить.


9

Я думал, что я не настолько глуп, чтобы смешивать версии, но я не понимал, что на моем новом сервере экземпляр SQL Server 2005 уже был установлен с рождения SQLEXPRESS. При попытке восстановить SQLEXPRESSрезервную базу данных SQL Server 2008 R2 в SSMS 2012 к экземпляру список наборов резервных копий был пустым.

В конце концов я понял, что SQLEXPRESSэкземпляр на сервере не был экземпляром 2012 года, но в 2005 году я отключился и подключился к реальному экземпляру 2012 года (в моем случае названному SQLEXPRESS2012), и он (очевидно) работал.

SQL-сервер, восстановление, SQL-Server-2012,
Похожие вопросы