微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Management Studio在SQL Server 2012中的同一服务器中以其他名称还原正在运行的数据库

如何解决使用Management Studio在SQL Server 2012中的同一服务器中以其他名称还原正在运行的数据库

我有sql Server 2012(64位)(MSsql11) 在Windows 2012 R2(64位)(NT 6.3)上运行 .NET Framework 4.0。

它具有一个名为db_X的数据库,并且由于它是实时生产数据库,因此它始终处于运行状态,并且无法停止它。

这是我实际上仅有的唯一sql Server数据库服务器。

我想对db_X(我知道该怎么做)进行备份(即完整备份),并在同一sql Server数据库服务器中以不同的名称(例如db_Y)还原该备份(该.bak文件)。

我创建了一个名为db_Y的新数据库,然后右键单击db_Y,然后转到“任务->恢复->数据库...

然后我给出了该.bak文件的路径(作为源),并尝试通过将db_Y作为目标位置来恢复它(带有选项-覆盖现有数据库,即使用REPLACE)

但这不起作用。它给出了一个错误

它说数据库db_Y的恢复失败。 System.Data.sqlClient.sqlError:文件C:... \ db_X1.mdf无法覆盖。数据库db_X正在使用它。 Microsoft.sqlServer.SmoExtended。

但是我仍然相信可以使用Management Studio来完成。或至少使用脚本。 (因为这是常见的要求。)

当我明确指定db_Y作为目的地时,为什么要尝试在db_X上还原? db_X是我的实时数据库,这是否有点吓人(因为我可能会丢失一些数据)?

如何(在sql Server中以另一个名称(换句话说,以一个现有名称一个正在运行的数据库的副本)还原一个sql Server 2012中以另一个名称的现有并正在运行的数据库的备份?

我很高兴有人可以解释一下如何使用Management Studio或至少使用脚本来完成此操作。

解决方法

还原数据库时,需要将数据库重命名为原始名称以外的其他名称: enter image description here

然后单击“文件”部分,并确保文件名与原始数据库不同: enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。