SQL Server 2014数据库还原失败

时间:2017-09-14 09:43:56

标签: sql-server database database-restore

我有用于生产的SQL Server 2014的集群版本,对于开发,我使用的是SQL Server 2014 2014 Express版。

.bak恢复数据库备份时遇到问题。

每次尝试恢复时都会出现以下错误

  

TITLE:Microsoft SQL Server Management Studio

     

服务器' WEBDESIGNINA \ SQLEXPRESS2014&#39>恢复失败。 (Microsoft.SqlServer.SmoExtended)

     

其他信息:

     

执行Transact-SQL语句或批处理时发生异常。 (Microsoft.SqlServer.ConnectionInfo)

     

操作系统返回错误  32(该进程无法访问该文件,因为正由另一个进程使用该文件。)'在尝试RestoreContainer :: ValidateTargetForCreation' on' C:\ Program Files \ Microsoft SQL Server \ MSSQL12.SQLEXPRESS2014 \ MSSQL \ DATA \ Database_Name.mdf'。

     

文件'数据库_名称'无法还原到' C:\ Program Files \ Microsoft SQL Server \ MSSQL12.SQLEXPRESS2014 \ MSSQL \ DATA \ Database_Name.mdf'。使用WITH MOVE标识文件的有效位置。

     

操作系统返回错误  32(该进程无法访问该文件,因为正由另一个进程使用该文件。)'在尝试RestoreContainer :: ValidateTargetForCreation' on' C:\ Program Files \ Microsoft SQL Server \ MSSQL12.SQLEXPRESS2014 \ MSSQL \ DATA \ Database_Name.ldf'。

     

文件' Database_Name_log'无法还原到' C:\ Program Files \ Microsoft SQL Server \ MSSQL12.SQLEXPRESS2014 \ MSSQL \ DATA \ Database_Name.ldf'。使用WITH MOVE标识文件的有效位置。

     

在规划RESTORE语句时发现了问题。以前的消息提供了详细信息   RESTORE DATABASE异常终止。 (Microsoft SQL Server,错误:3634)

解决此问题的唯一方法是删除数据库&然后恢复到新数据库。

如何在没有错误的情况下覆盖此数据库

2 个答案:

答案 0 :(得分:0)

也发生在我身上。以前从未见过。我使数据库脱机,重命名了mdf / ldf,然后开始了还原,它现在可以正常工作。不知道这是一个好主意。但是我不得不以某种方式恢复该数据库并继续前进。

答案 1 :(得分:0)

我在使用SQL 2014 Express的VPS上遇到此问题。没有足够的安全权限才能从默认备份目录进行还原:C:\ Program Files \ Microsoft SQL Server \ MSSQL12.MSSQLSERVER \ MSSQL \ Backup(尽管备份工作正常)

错误是: C:\ Program Files \ Microsoft SQL Server \ MSSQL12.MSSQLSERVER \ MSSQL \ Backup 无法访问服务器上的指定路径或文件。确认您具有必要的安全特权,并且路径或文件存在。

实际上,您可以按照以下步骤更改权限:使用Windows身份验证登录到SSMS 导航到安全性->登录 双击或右键单击并在您感兴趣的用户上选择“属性”。 在“选择页面”框中,选择“服务器角色” 确保已选择“ sysadmin”角色 按确定保存更改并关闭对话框 退出SSMS 重新打开SSMS并以所需的用户身份登录,现在您应该具有足够的权限