Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 创建SQL Server转储并将该转储导入另一个SQL Server的最佳(最简单)方法_Sql Server_Import_Export_Dump - Fatal编程技术网

Sql server 创建SQL Server转储并将该转储导入另一个SQL Server的最佳(最简单)方法

Sql server 创建SQL Server转储并将该转储导入另一个SQL Server的最佳(最简单)方法,sql-server,import,export,dump,Sql Server,Import,Export,Dump,我希望在SQL Server中从一台服务器实现数据库导出(dump),然后在另一台SQL Server中导入该转储,而不必使用相同的模式名称 例如,如果我准备了一个数据库,其中包含为一个新客户实现一个新DB所需的所有数据集,则该DB的名称为DB_EMPTY 然后我必须在一些外部服务器上为客户设置相同的数据库,例如在模式DB_MY_customer中 导出(转储)DB_EMPTY并将其导入DB_MY_CUSTOMER的最佳/最简单方法是什么 可能使用SQL Server Management St

我希望在SQL Server中从一台服务器实现数据库导出(dump),然后在另一台SQL Server中导入该转储,而不必使用相同的模式名称

例如,如果我准备了一个数据库,其中包含为一个新客户实现一个新DB所需的所有数据集,则该DB的名称为DB_EMPTY

然后我必须在一些外部服务器上为客户设置相同的数据库,例如在模式DB_MY_customer中

导出(转储)DB_EMPTY并将其导入DB_MY_CUSTOMER的最佳/最简单方法是什么


可能使用SQL Server Management Studio?

这称为复制:


尝试查看快照复制。它可配置为确定目标数据库。

一种简单的方法是使用SQL Server Management Studio,在对象资源管理器中右键单击要导出的数据库,选择
任务
->
备份
,然后在对话框底部的目标框中选择目标和文件名。您可以使用各种设置,但不需要这样做


要在另一台服务器上还原它,基本上是相反的,选择
任务
->
还原
->
数据库
,在对话框中选择
From Device
,然后单击浏览省略号,从那里可以看到一个浏览对话框,单击添加,然后导航到您创建的备份文件。您可以将
文本框中的数据库名称更改为database
文本框,并通过转到“选项”选项卡并更改表中标记为“将数据库文件还原为:”的
还原为列条目来控制文件的存储位置。

以防有人在此处结束并注意到“任务->备份”选项不存在;在最新版本的SSMS(例如v18)上,您需要使用“生成脚本”选项,然后在“高级”上选择“要脚本的数据类型”上的“模式和数据”


归功于:

备份和恢复可能是最好的选择—但是,这与编程无关—您最好问一下系统管理员和DBA挂在哪里—您不是指架构名称(例如dbo),而是指数据库名称。正如Marc所说,请在我的SQL management stuio中尝试serverfault.hmm,我看不到右键单击复制的选项。并非所有版本的SQL Server都提供复制。通常,您首先在目标上进行备份,然后需要在两者之间建立可靠的连接以保持数据同步。当OP谈到客户部署时,我认为他们不想将数据保持同步。。。这是一个很好的解释,以防有人在这里结束时注意到“任务->备份”选项不存在;在最新版本的SSMS(例如v18)上,您需要使用“生成脚本”选项,然后在“高级”上选择“要脚本的数据类型”上的“模式和数据”。归功于:在SSMS 17.6中,为了将一个数据库恢复到另一个数据库,选择的选项位于“选项”选项卡下-→ 恢复选项-→ 选中“覆盖现有数据库(替换)”。如果不这样做,您将收到一条错误消息,上面写着“Microsoft SQL Server错误3154。备份集保存的是系统上现有数据库以外的数据库副本。”您完全错了。SSMS的最新(GA)版本是(截至20190115年),并且它肯定仍然具有
备份
选项。也许你正在连接一个SQLAzure实例(它从来都不是一个选项)?最新版本是V18Preview 5;而且这个没有“任务->备份”菜单。可能是因为,正如您所指出的,我正在连接到SQLAzure数据库。然而,我所指的解决方案适用于这种情况。我希望它能帮助一些人。请记住,这个问题是在2011年SQL Azure不存在时回答的。。。。SQL Azure确实使用了不同的机制,它可以作为文件从Azure门户中备份到blob存储。我添加了答案,因为我一直在这里寻找答案,这个答案对我很有用。:)。我不认为被接受的答案是错误的,但对于那些带着我的用例来到这里的人来说,这是一个很好的观点。