我有一个数据库,我想强制恢复它的顶部。
我检查选项:

但是,正如所料,SSMS无法覆盖现有的数据库。
当然,我不想要不同的文件名。 我想覆盖现有的数据库。
我如何强制恢复现有的数据库?
而对于Googlesearch爬虫:
文件'%s'由'%s'(4)和'%s'(3)声明。WITH MOVE子句可用于重定位一个或多个文件。
RESTORE DATABASE正在终止exception。 (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
我用UI来删除现有的数据库,以便我可以使用用户界面强制 覆盖 (非)现有的数据库。
希望能有一个答案,让下一个家伙可以有一个答案。
不,没有人在数据库的上下文中(来自其他连接的错误消息与这个错误是完全不同的,而且在我杀死了其他连接之后我只能看到这个错误)。
您有2个数据库文件试图还原到相同的物理文件。
MOVE N'HealthCareGovManager_Archive' TO N'D:\CGI Data\HealthCareGovManager.ndf', MOVE N'HealthCareGovManager_AuditLog' TO N'D:\CGI Data\HealthCareGovManager.ndf',
改变这些物理path之一,你的错误应该消失。
看起来您正在尝试将两个文件( HealthCareGovManager_Archive和HealthcareGovManager_AuditLog )写入相同的目标文件(D:\ CGI Data \ HealthCareGovManager.ndf)。
他们必须去单独的文件或SQL Server将运行到您所看到的文件使用问题。