Восстановите базу данных и измените расположение файла MDF - PullRequest
5 голосов
/ 03 ноября 2011

Я не восстановлю свою базу данных, но путь к файлу не тот. Как я могу изменить этот путь (раздел)?

RESTORE DATABASE [MY_DATABASE] 
FROM  DISK = 'C:\Content.bak' 
WITH  FILE = 1,  
NOUNLOAD,  
STATS = 10

Сообщение об ошибке:

Сообщение 5133, Уровень 16, Состояние 1, Строка 1
Поиск в каталоге для файла "F: .... \ Content01.mdf" завершился ошибкой операционной системы 3 (не удалось получить текст для этой ошибки. Причина: 15100).
Сообщение 3156, Уровень 16, Состояние 3, Строка 1
Файл 'Content01' не может быть восстановлен в 'F: .... \ Content01.mdf'. Используйте WITH MOVE для определения правильного местоположения файла.
Сообщение 5133, уровень 16, состояние 1, строка 1
Поиск в каталоге для файла "H: .... \ Content01_log.LDF" завершился ошибкой операционной системы 3 (не удалось получить текст для этого ошибка. Причина: 15105).
Сообщение 3156, Уровень 16, Состояние 3, Строка 1
Файл 'Content01_log' не может быть восстановлен в 'H: .... \ Content01_log.LDF'. Используйте WITH MOVE, чтобы определить действительный расположение файла.
Msg 3119, уровень 16, состояние 1, строка 1
Проблемы были выявлены при планировании оператора RESTORE. Предыдущие сообщения содержат подробности.
Сообщение 3013, уровень 16, состояние 1, строка 1
ВОССТАНОВЛЕНИЕ БАЗЫ ДАННЫХ завершается ненормально.

СПАСИБО.

Ответы [ 3 ]

12 голосов
/ 03 ноября 2011
RESTORE DATABASE [My_Database] 
FROM DISK = 'C:\Content.bak'
WITH MOVE 'MyDatabase_Data' TO 'C:\Data\MyDatabase_Data.mdf',
MOVE 'MyDatabase_Log' TO 'C:\Data\MyDatabase_Log.ldf',
REPLACE,
STATS=10
2 голосов
/ 03 ноября 2011

Используйте команду WITH MOVE восстановления, как описано в этом SO Вопросе .

1 голос
/ 10 июня 2014

Если кто-то здесь, потому что он восстанавливает базу данных с несколькими файлами, каждому файлу назначения требуется новое имя. При использовании SQL Server 2008 R2 графический интерфейс не предоставляет очевидной подсказки и не решает ее автоматически.

...