我正在尝试从运行 SqlServer2005(无服务包)的服务器升级到运行 SqlServer2005 服务包 3 的服务器。
我正在尝试通过在一个上进行备份,然后在另一个上进行还原来将数据库从一个复制到另一个。
我正在使用 ssms。
当我尝试将在第一台服务器上创建的 DbName 的备份恢复到第二台服务器上时(我在第二台服务器上创建了一个 db DbName),我收到错误消息:
备份集保存现有“DbName”数据库以外的数据库的备份
这是怎么回事,我该如何解决?
我正在尝试从运行 SqlServer2005(无服务包)的服务器升级到运行 SqlServer2005 服务包 3 的服务器。
我正在尝试通过在一个上进行备份,然后在另一个上进行还原来将数据库从一个复制到另一个。
我正在使用 ssms。
当我尝试将在第一台服务器上创建的 DbName 的备份恢复到第二台服务器上时(我在第二台服务器上创建了一个 db DbName),我收到错误消息:
备份集保存现有“DbName”数据库以外的数据库的备份
这是怎么回事,我该如何解决?
如果您创建了一个名为 DbName 的数据库,并且您尝试从第一台服务器应用不同数据库(也称为 DbName)的备份,那么您将收到您尝试备份不同数据库的错误。这可以防止您意外用错误的备份内容替换数据库的错误。
有两种解决方案,都很简单:
使用RESTOREWITH REPLACE
命令的选项,以便将数据库内容替换为不同的数据库备份集:
指定 SQL Server 应创建指定的数据库及其相关文件,即使已存在另一个同名的数据库。在这种情况下,现有数据库将被删除。
在 RESTORE 操作之前显式删除现有数据库。
SSMS 有一个特殊的向导可以做到这一点:右键单击数据库,Tasks/Copy Database...
但我更愿意使用直接的 T-SQL 命令手动完成。