Ошибка восстановления базы данных с помощью Transact SQL - PullRequest
0 голосов
/ 29 мая 2019

Я пытаюсь восстановить базу данных с помощью файла .bak, созданного ранее с другого сервера.

.bak был создан на сервере, где путь SQL - это единица E, и в новом сервере путь - C.

ИСТОЧНИК базы данных SQL PATH

E:\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA

НАЗНАЧЕНИЕ БАЗЫ ДАННЫХ

C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA

Запрос восстановления

RESTORE DATABASE admin_usuarios  
FROM DISK = 'C:\backup\admin_usuarios.bak'   
WITH REPLACE;

ERROR

Сообщение 5133, уровень 16, состояние 1, строка 4 Ошибка поиска файла "E: \ Microsoft SQL Server \ MSSQL13.MSSQLSERVER \ MSSQL \ DATA \ admin_usuarios.mdf" в каталогах, ошибка операционной системы: 3 (системе не удается найти указанный путь.).

Запрос, использованный для создания резервной копии

BACKUP DATABASE admin_usuarios
TO DISK = 'E:\BackupSQL\admin_usuarios.bak'
WITH FORMAT;

1 Ответ

1 голос
/ 30 мая 2019

Вам необходимо использовать синтаксис RESTORE WITH MOVE:

RESTORE DATABASE admin_usuarios FROM DISK = 'C:\backup\admin_usuarios.bak' 
WITH
MOVE date_file_logical_name TO 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\admin_usuarios_Data.mdf', 
MOVE log_file_logical_name TO 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\admin_usuarios_Log.ldf',
REPLACE;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...