Ошибка восстановления базы данных SQL Server: указанный слепок не действителен. (SqlManagerUI)
Я использую SQL Server 2008 R2 Standard (версия 10.50.1600.1) для моего производственного сайта и SQL Server Express edition with Advanced Services (v10.50.1600.1) для моего localhost в качестве базы данных.
Несколько дней назад мой SQL Server сломался, и мне пришлось установить новую версию 2008 R2 Express на моем localhost. Она отлично работала, когда я восстанавливал некоторые старые версии, взятые из редакции Express, но когда я пытаюсь восстановить базу данных из файла .bak
, взятого с рабочего сервера, это приводит к следующей ошибке:
Ошибка: Specified cast is not valid. (SqlManagerUI).
и когда я пытаюсь восстановить базу данных с помощью команды
Use Master
Go
RESTORE DATABASE Publications
FROM DISK = 'C:\Publications.bak'
WITH MOVE 'Publications' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Publications.mdf',--adjust path
MOVE 'AlPublications_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS2008R2\MSSQL\DATA\Publications.ldf'
она выдает другую ошибку
- Сообщение 3154, уровень 16, состояние 4, строка 1 Набор резервных копий содержит резервную копию базы данных, отличную от существующей базы данных 'Publications'.
Msg 3013, Уровень 16, Состояние 1, Строка 1 RESTORE DATABASE завершается с ошибкой.*
Я проверил все версии. Все они кажутся мне подходящими, как показано на рисунке ниже
Ранее мне удавалось восстановить базу данных из стандартной версии в экспресс-версию, но теперь это не удается. Я удалил базу данных и попытался создать ее заново. Это тоже не удалось.
Я не уверен, что делаю неправильно. Я буду признателен за помощь в этом вопросе.
Проблема была решена, поскольку, похоже, файл .bak был поврежден. Когда я попробовал с другим файлом, все заработало.
Это может быть связано с восстановлением файла резервной копии версии SQL Server 2012 в SQL Server 2008 R2 или даже меньше.
Графический интерфейс иногда может быть непостоянным. Ошибка, которую вы получили при использовании T-SQL, связана с тем, что вы пытаетесь перезаписать существующую базу данных, но не указали, что нужно перезаписать/заменить существующую базу данных. Может сработать следующее:
Наконец-то удалось избавиться от этой ошибки при восстановлении. От разочарования я перешел на SQL2012, но я думаю, что это, вероятно, будет работать и на 2008R2. Мне пришлось использовать логические имена:
И оттуда я запустил оператор восстановления с
MOVE
, используя логические имена.Когда восстановление было завершено, я чуть не прослезился от радости.
Удачи!
Ниже может быть 2 причины этой проблемы:
Резервное копирование в SQL 2012 и инструкции headeronly восстановление было сделано в SQL 2008 R2 с
Резервный носитель поврежден.
Если мы запустим следующую команду, мы можем найти фактические ошибки всегда:
Дать полное расположение файла базы данных в очень
Надеюсь, что это помогает