首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基本SQL-server支持问题

基本SQL-server支持问题
EN

Database Administration用户
提问于 2022-03-11 09:37:47
回答 3查看 92关注 0票数 1

我面临着最基本的SQL-服务器支持问题:

我正在开发一个基于某个数据库的应用程序,我的客户正在使用相同的数据库结构(相同的名称、相同的结构,但内容显然不同)。

现在,我想复制客户数据库,并在我的办公桌上调查它,而不破坏我自己的数据库。我首先对客户的数据库进行备份,并将备份复制到我的PC上。

好吧,好吧,但现在怎么办?

  • 如果我做了一个正常的恢复,我自己的数据库就会被销毁。
  • 如果我创建另一个DB并使用此DB作为还原操作的目标,则会得到以下错误消息:数据库“From_Backup_Customer”的还原失败。附加信息: System.Data.SqlClient.SqlError:备份集保存现有“From_Backup_Customer”数据库以外的数据库的备份。(Microsoft.SqlServer.SmoExtended)

这是一个如此基本的问题,我不敢相信没有一个明显的解决办法,但什么?

EN

回答 3

Database Administration用户

发布于 2022-03-11 10:07:11

您似乎要还原备份集中不存在的数据库。要查看备份集中数据库的逻辑名称是什么:

代码语言:javascript
复制
RESTORE FILELISTONLY   
FROM DISK = 'filename.bak' 
票数 0
EN

Database Administration用户

发布于 2022-03-11 10:13:22

直接使用T代替GUI进行还原。您可以从GUI中编写恢复命令的脚本。如果你把恢复命令添加到你的岗位上,我们就有事情要做了。

无论如何,错误消息表明您试图还原到的数据库名称已经存在,并且MSSQL的一种类型的安全检查将逐步执行,这样您就不会错误地覆盖某些内容。

如果是这种情况(同样,错误消息是这样说的),那么您的选项是:

  1. 在恢复之前删除名为"From_Backup_Customer“的现有数据库,因此它不存在。
  2. 使用RESTORE命令的替换选项。这可以作为还原GUI中的复选框使用。
票数 0
EN

Database Administration用户

发布于 2022-03-11 10:46:48

一位同事为我提供了一个解决方案:简单地创建另一个SQL-server服务器。我不知道他用来做这件事的确切工具,但是中的结果如下所示:

票数 -1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/308609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档