Назад | Перейти на главную страницу

Как принудительно восстановить существующую базу данных?

У меня есть база данных, и я хочу принудительно выполнить восстановление поверх нее.

Проверяю вариант:

Но, как и ожидалось, SSMS не может перезаписать существующую базу данных.

Конечно, мне не нужны разные имена файлов; я бы хотел перезаписывать существующая база данных.

Как принудительно восстановить существующую базу данных?

И для поискового робота Google:

Файл "% s" заявлен "% s" (4) и "% s" (3). Предложение WITH MOVE можно использовать для перемещения одного или нескольких файлов.
RESTORE DATABASE аварийно завершает работу. (Microsoft SQL Server, ошибка: 3176)

Обновить

Сценарий (до того, как я удалил базу данных, потому что мне нужно было это сделать) был:

RESTORE DATABASE [HealthCareGovManager] 
FILE = N'HealthCareGovManager_Data',  
FILE = N'HealthCareGovManager_Archive',  
FILE = N'HealthCareGovManager_AuditLog' 
FROM  DISK = N'D:\STAGING\HealthCareGovManager10232013.bak' WITH  FILE = 1,  
MOVE N'HealthCareGovManager_Data' TO N'D:\CGI Data\HealthCareGovManager.MDF',  
MOVE N'HealthCareGovManager_Archive' TO N'D:\CGI Data\HealthCareGovManager.ndf',  
MOVE N'HealthCareGovManager_AuditLog' TO N'D:\CGI Data\HealthCareGovManager.ndf',  
MOVE N'HealthCareGovManager_Log' TO N'D:\CGI Data\HealthCareGovManager.LDF',  
NOUNLOAD,  REPLACE,  STATS = 10

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

Надеюсь, можно найти ответ, чтобы следующий парень может иметь ответ.

Нет, никто не был в контексте базы данных (сообщение об ошибке от других подключений сильно отличается от этой ошибки, и я увидел эту ошибку только после того, как убил другие подключения).

У вас есть 2 файла базы данных, которые пытаются восстановить в один и тот же физический файл.

MOVE N'HealthCareGovManager_Archive' TO N'D:\CGI Data\HealthCareGovManager.ndf',  
MOVE N'HealthCareGovManager_AuditLog' TO N'D:\CGI Data\HealthCareGovManager.ndf',

Измените один из этих физических путей, и ваша ошибка исчезнет.

Похоже, вы пытаетесь записать два файла (HealthCareGovManager_Archive и HealthcareGovManager_AuditLog) в тот же целевой файл (D: \ CGI Data \ HealthCareGovManager.ndf).

Они должны перейти в отдельные файлы, иначе SQL Server столкнется с проблемой использования файла, как вы видите.