在SQL Server中还原数据库时,无法覆盖mdf文件
发布时间:2020-12-12 16:55:14 所属栏目:MsSql教程 来源:网络整理
导读:我有一个数据库A.它有一些数据.我为A创建了A.bak文件的备份.然后我创建一个新的空数据库B.然后我尝试从A.bak恢复B.但SQL Serve告诉我以下错误: The file ‘C:SQL DirectoryDATAA.mdf’ cannot be overwritten. It is being used by database ‘A’. 但是,
我有一个数据库A.它有一些数据.我为A创建了A.bak文件的备份.然后我创建一个新的空数据库B.然后我尝试从A.bak恢复B.但SQL Serve告诉我以下错误:
但是,如果我从SQL Server中删除A,则可以进行重新检查. 我不明白为什么SQL从单独的备份文件恢复时需要写入原始数据库文件? 谢谢? 解决方法如果还原数据库,SQL Server将默认尝试将所有数据和日志文件还原到其原始位置.由于原始数据库(“A”)仍在使用这些原始位置,因此还原失败.您需要使用WITH MOVE子句为数据库中的所有文件指定新位置.RESTORE DATABASE B FROM DISK = 'A.bak' WITH MOVE 'DataFileLogicalName' TO 'C:SQL DirectoryDATAB.mdf',MOVE 'LogFileLogicalName' TO 'C:SQL DirectoryDATAB.ldf',REPLACE --Needed if database B already exists 无论如何都是这样的.如有必要,请使用RESTORE FILELISTONLY FROM DISK …查看备份中的逻辑文件名. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- sql-server – ZombieCheck异常 – 此SqlTransac
- ASP数据库编程SQL常用技巧
- SQL Server OBJECTPROPERTY与sp_rename更改对象名
- Windows7下SQL2008附加数据库出现错误的解决方法
- Centos 6.4源码安装mysql-5.6.28.tar.gz教程
- sql-server – 在表名中添加’tbl’前缀真的有问
- SQLServer 2008的数据库镜像实施笔记--转
- entity-framework – SelectMany创建了许多SQL s
- 数据库设计 – 单个维度内非重叠范围的数据结构
- proxy – paramiko:SSH端口转发以获取SQL转储
热点阅读