如何将本地数据库还原到Windows Azure数据库?

79

我已经将我的应用程序上传到了Windows Azure,现在我想把本地数据库存储到Windows Azure数据库。

请建议我如何创建表并在那里备份表?

5个回答

72
有几种方法可以实现:
  1. 最可靠的方法(我通常使用的方法)是使用SQL Azure Migration Wizard
  2. 然后你有在SSMS(SQL Server Management Studio 2008 R2或更高版本)中的“生成脚本”选项。生成脚本选项具有生成符合SQL Azure标准的脚本的功能。它还可以脚本化数据。但如果您想迁移数据,我建议使用第一种方法。 SQL Azure Migration Wizard使用BCP工具将数据转储到二进制文件中,而SSMS仅生成内联INSERT语句
  3. SSIS(SQL Server Integration Services)-您可以创建数据传输任务,但我会很少用于小型数据库。
  4. 导出/导入数据层应用程序(使用DACPAC包)-これ将迁移您的架构,并可以迁移您的数据。
更新2017-10-24
Azure SQL Database现在支持从本地SQL Server进行事务性复制。您可以将Azure SQL Database配置为订阅者,将本地SQL Server配置为发布者。您可以在此处阅读有关数据库迁移选项和策略的更多信息:https://learn.microsoft.com/en-us/azure/sql-database/sql-database-cloud-migrate 更新2017-12-23 SQL Azure Migration Wizard已被Data Migration Assistant取代:https://learn.microsoft.com/en-us/azure/sql-database/sql-database-cloud-migrate

我尝试使用SQL Server 2014工具完成这项工作,但是没有成功。SQL Azure迁移向导是正确完成此任务的工具。 - nrod
1
在几天后的第二次迁移中,“SQL Azure 迁移向导” 并没有帮上忙。最终解决方案是:从“本地 SQL Server”中提取数据层(使用“Visual Studio SQL Server 对象资源管理器”),然后在“Azure SQL 数据库”中发布相同的文件(同样使用“Visual Studio SQL Server 对象资源管理器”),并选择复选框“注册为数据层应用程序”,以及在高级选项中勾选“允许不兼容平台”。效果非常好! - nrod
我很惊讶人们在2017年会对2011年的答案进行投票。但在这种情况下,我仍然会回答说,将SQL数据库移动到Azure SQL DB的最可靠方法是使用SQL Azure迁移向导。除非你正在寻找非停机迁移。 - astaykov
2
SQL Azure迁移向导已被数据迁移助手所取代:https://learn.microsoft.com/en-us/azure/sql-database/sql-database-cloud-migrate - Jeroen

25

如果您已经在本地计算机上拥有数据库,则可以使用SQL管理工具直接将其迁移到Azure。按照以下步骤进行:

  1. 在SSMS中右键单击数据库名称

输入图像描述

  1. 按照向导的提示进行操作

连接到Azure时,除了IP地址外,您需要其他任何内容吗?您需要端口吗? - Danimal111
不,你只需要使用你的SQL Azure账户凭据在SSMS中连接到Azure。在Azure门户中,你应该已经通过SQL Azure的防火墙设置将你的IP添加为访问数据库的允许IP。 - Vishal
这对我来说效果很好,但你必须要小心哪些用户与数据库相关联。任何基于Windows的用户或服务都会导致进程出错。一旦你将它们移除,一切又都会恢复正常。 - jocull

5

抱歉如果这是重提一个旧话题,但其中一些链接现在已经过时并且不再可用。 - jamiebarrow
只有一个链接不可用,现在已经更新。 - cory-fowler
2
谢谢。另外,Microsoft Codename“数据传输”实验阶段已经完成,我在那个页面上没有看到任何相关内容,只能假设它现在已过时。 - jamiebarrow

1

0

我相信SQL Server 2012管理工具和SQL Azure工具现在也有这个选项。

在SSMS中,如果您右键单击数据库根目录,会出现“导入数据层应用程序...”选项,允许您还原BACPAC(您还可以右键单击数据库,选择“导出数据层应用程序...”将现有数据库导出为BACPAC)。

SQL Server数据工具使Visual Studio 2010具备数据比较选项,也可用于在两个数据库实例之间移动数据(适用于较小的数据补丁)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接