слишком долго, чтобы комментировать
Использование опции WITH REPLACE
(как вы перечислили) перезапишет базу данных тем, что содержится в резервной копии. Причина, по которой вы получаете эту ошибку в вашем скрипте, может заключаться в том, что вы используете опцию FILE
.
Параметры FILE, предшествующие имени устройства резервного копирования, задают логический
имена файлов файлов базы данных, которые должны быть восстановлены из
резервный набор; например, FILE = 'FILENAME'
Причиной возникновения ошибки может быть то, что набор резервных копий не является первой резервной копией базы данных в наборе носителей. Вам необходимо добавить правильный номер к опции FILE
в предложении WITH
.
....
WITH FILE = 1, --this may not need to be 1
....
Если вам не нужно явно указывать имя файла, пропустите оба параметра FILE
.
RESTORE DATABASE add_BackupDev
FROM DISK = @LastDatabaseRestore
WITH
MOVE 'add_backupDev' TO 'R:\DATA\add_BackupDev.mdf',
MOVE 'add_BackupDev_log' TO 'L:\LOG\add_BackupDev.ldf',
NOUNLOAD,
REPLACE;
GO
Это должно восстановить вашу базу данных.