sql-server - 使用 bak 文件恢复数据库。备份集保存现有数据库以外的数据库的备份
问题描述
我正在尝试使用版本 A 的 .bak 文件来恢复数据库,例如版本 B。
这似乎不是正确的做法,因为我收到了一个错误:
标题:Microsoft SQL Server 管理工作室
数据库“B”的还原失败。
(Microsoft.SqlServer.Management.RelationalEngineTasks)附加信息:
System.Data.SqlClient.SqlError:备份集包含一个数据库的备份,而不是现有的“B”数据库。(Microsoft.SqlServer.SmoExtended)
解决方案
要使用从不同数据库获取的备份覆盖数据库,您必须在 RESTORE 命令中指定WITH REPLACE选项。
REPLACE 应该很少使用,并且只有在仔细考虑之后才能使用。恢复通常可以防止意外地用不同的数据库覆盖数据库。如果 RESTORE 语句中指定的数据库已存在于当前服务器上,并且指定的数据库系列 GUID 与备份集中记录的数据库系列 GUID 不同,则不会还原数据库。这是一个重要的保障。
推荐阅读
- python - Pandas Python中的堆叠直方图
- sql - SQL Server 中没有重叠时间的总持续时间
- c++ - 从基类到派生类的静态转换后找不到成员函数
- javascript - 如何在自己的jquery文件中获取第三方jquery库函数的执行时间
- python - python中的speech_recognition不工作错误
- javascript - Ant设计文件上传中使用customRequest
- reactjs - 用 jest Enzyme 测试输入组件
- javascript - 如何使用 js 脚本更改 a-image 的“可见”属性?
- angular - 如何暂停打字稿“未使用”错误控制台
- docker - 如何使用 docker 在 Jenkins 中构建 .net 核心应用程序并将其推送到 ECR?