Масса md5summing сделает задание проверки целостности. Я не собираюсь размышлять относительно причины повреждения, действительно нет достаточной информации здесь, чтобы поставить разумный диагноз.
При восстановлении базы данных SQL Server, по умолчанию, попытается восстановить все файлы данных и файлы журнала к их исходным местоположениям. Так как те исходные местоположения все еще используются исходной базой данных ("A"), сбои восстановления. Необходимо использовать С пунктом ПЕРЕМЕЩЕНИЯ для определения новых местоположений для всех файлов в базе данных.
RESTORE DATABASE B FROM DISK = 'A.bak'
WITH MOVE 'DataFileLogicalName' TO 'C:\SQL Directory\DATA\B.mdf',
MOVE 'LogFileLogicalName' TO 'C:\SQL Directory\DATA\B.ldf',
REPLACE --Needed if database B already exists
Что-то как этот так или иначе. Используйте RESTORE FILELISTONLY ОТ ДИСКА... для наблюдения логических имен файлов в резервном копировании при необходимости.
Вы используете опцию REPLACE, или в команде TSQL, или как установленный флажок? С другой стороны, можно переименовать файлы и назвать базу данных чем-то еще.
Вы также найдете немного трудным восстановить по базе данных, которая используется....., необходимо будет уничтожить процессы с помощью базы данных; ИЛИ отбросьте/удалите базу данных сначала, закрыв соединения (это является, вероятно, самым легким); ИЛИ набор база данных, которую Вы хотите перезаписать во что-то как ограниченный непривилегированный режим с откатом, непосредственным так, надо надеяться, только DBAs, может использовать; ИЛИ даже остановите SQL Server и перезапустите его - надо надеяться, получение восстановления, прокручивающегося, прежде чем любой/что-либо будет использовать ту базу данных.
PS берет резервное копирование базы данных, которую Вы собираетесь перезаписать на всякий случай.
Если кто-то ищет решение в графическом интерфейсе Management Studio после того, как уже использовал страницу Параметры
и активировал Перезаписать существующий база данных (WITH REPLACE) опция
:
Просто щелкните столбец Восстановить как
и измените имена файлов *. mdf
и *. ldf
файл.
WITH MOVE
/ MOVE
- правильное решение в T- SQL
.
Кстати, если вы хотите использовать графический интерфейс, вы можете перейти к Files и переименовать:
-