制作 SQL Server 转储并将该转储导入另一个 SQL Server 的最佳(最简单)方法

Posted

技术标签:

【中文标题】制作 SQL Server 转储并将该转储导入另一个 SQL Server 的最佳(最简单)方法【英文标题】:Best (easiest) way to make a SQL Server dump and import that dump in another SQL Server 【发布时间】:2011-06-28 23:00:57 【问题描述】:

我想从一台服务器在 SQL Server 中实现数据库导出(转储),然后将该转储导入另一台 SQL Server,而不必使用相同的架构名称。

例如,如果我准备了一个包含所有数据集的数据库,以便为新客户实施新数据库,则该数据库例如名为 DB_EMPTY

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

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

可能与 SQL Server Management Studio 一起使用?

【问题讨论】:

BACKUP 和 RESTORE 可能是执行此操作的最佳选择 - 但是,这与编程相关 - 您最好在 Serverfault.com 上询问系统管理员和 DBA 所在的位置闲逛 您的意思不是架构名称(例如 dbo),而是数据库名称。正如 Marc 所说,尝试 serverfault。 【参考方案1】:

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

致谢:http://statmap.co.uk/?page_id=9207

【讨论】:

你大错特错。 SSMS 的最新 (GA) 版本是 17.9.1(截至 20190115),它肯定仍然具有 Back up 选项。也许您正在连接到一个 SQL Azure 实例(它从来都不是一个选项)? 最新版本为v18 Preview 5;而这个没有“任务->备份”菜单。可能是因为,正如您所指的,我正在连接到 SQL Azure 数据库。但是,我指出的解决方案适用于这种情况。我希望它会对某人有所帮助。 请记住,这个问题是在 2011 年 SQL Azure 不存在时回答的...... SQL Azure 确实使用了不同的机制,它可以作为文件从 Azure 中备份到 blob 存储门户网站。 我已经添加了答案,因为我一直在这里寻找这个,对我来说这个答案很有用。 :)。我没有看到接受的答案是错误的,但对于那些带着我的用例来到这里的人来说,这是一个很好的观点。【参考方案2】:

一种简单的方法是使用 SQL Server Management Studio,在对象资源管理器中右键单击要导出的数据库,选择 Tasks -> Back Up,然后在“目标”框中选择目标和文件名在对话框的底部。您可以尝试各种设置,但不是必须的。

要在另一台服务器上恢复它基本上是相反的,选择Tasks -> Restore -> Database,在对话框中选择From Device,然后单击浏览省略号,从那里你会得到一个浏览对话框,单击添加,然后导航到您创建的备份文件。您可以更改To database 文本框中的数据库名称,并通过转到选项选项卡并更改标记为将数据库文件还原为: em>。

【讨论】:

tnx ... 一个很好的解释 以防万一有人在这里结束并注意到“任务->备份”选项不存在;在最新版本的 SSMS(例如 v18)上,您需要使用“生成脚本”选项,然后在“高级”上选择“脚本数据类型”中的“架构和数据”。致:statmap.co.uk/?page_id=9207 在 SSMS 17.6 中,为了将一个数据库还原到另一个数据库,选择的选项在“选项”选项卡下 -→ 还原选项 -→ 选中“覆盖现有数据库(WITH REPLACE)”。如果不这样做,您将收到一条错误消息,显示“Microsoft SQL Server 错误 3154。备份集包含系统上现有数据库以外的数据库副本。”【参考方案3】:

这称为复制:http://databases.about.com/od/sqlserver/ht/distribution.htm

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

【讨论】:

hmm 在我的 SQL 管理工作室中,我在右键单击时看不到复制选项 复制并非在 SQL Server 的所有版本中都可用。通常,无论如何,您都会从目标上的备份开始,然后需要两者之间的可靠连接以保持数据同步。当 OP 谈到客户部署时,我认为他们不想让数据保持同步

以上是关于制作 SQL Server 转储并将该转储导入另一个 SQL Server 的最佳(最简单)方法的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 转储到 MySQL [关闭]

使用 pgAdmin 导出和导入表转储 (.sql)

在 SQL Server 表中转储 SSIS USER 变量名称和值

SQL Server:转储/导出数据库索引

SQL 新手只是试图导入 SQL 转储以在 python 中使用,不断收到“缺少数据库”和“缺少列”错误

关于sqlserver数据转储到mysql中