使用位置 A 中的文件创建数据库备份 数据库文件然后使用 ALTER DATABASE MODIFY FILE 移动到位置 B
现在使用文件位于位置 A 时创建的 WITH REPLACE 恢复备份。是否应使用新位置指定 WITH MOVE 选项?或者 WITH REPLACE 是否暗示使用当前位置而不管创建备份时它们在哪里?
使用位置 A 中的文件创建数据库备份 数据库文件然后使用 ALTER DATABASE MODIFY FILE 移动到位置 B
现在使用文件位于位置 A 时创建的 WITH REPLACE 恢复备份。是否应使用新位置指定 WITH MOVE 选项?或者 WITH REPLACE 是否暗示使用当前位置而不管创建备份时它们在哪里?
您不必指定 WITH MOVE。
看起来 Microsoft 改变了 SQL Server 2012 与 2008 中的行为。如果您在位置 A 上备份带有文件的数据库,然后文件移动到位置 B,那么当您使用“WITH REPLACE”还原数据库且没有“WITH”时MOVE”,即使位置 A 不存在,在 SQL 2005/2008 中恢复也会成功。还原后,数据库仍会在位置 B 上保存文件(与还原前一样)。但是,与 SQL 2012 完全相同的情况,还原失败并出现您需要使用“WITH MOVE”选项的错误。
不确定这是否是有意的,因为我还没有发现 Microsoft 记录的更改...