如何恢复我的本地数据库到 WindowsAzure 数据库?

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

请建议我如何创建表和备份那里的表?

57879 次浏览

我猜你指的是 SQL Azure?如果是这样,您可能需要使用 SQL Azure 迁移向导@http://sqlazuremw.codeplex.com/

有几种方法可以做到这一点:

  1. 最可靠的(我通常使用的)是使用 SQL Azure 迁移向导
  2. 然后在 SSMS (SQLServerManagementStudio2008R2或更高版本)中有“生成脚本”选项。GeneratedScripts 选项确实有一个特性可以使 SQLAzure 兼容脚本。它还可以编写脚本数据。但是如果您想迁移数据,我建议使用方法一。SQL Azure 迁移向导使用 BCP 工具,它将数据转储为二进制文件,而 SSMS 只生成内联 INSERT 语句
  3. SSIS (SQLServerIntegrationServices)-您可以创建一个数据传输任务,但是对于小型 DBs,我很少使用它。
  4. 导出/导入数据层应用程序(使用 DACPAC 包)-这将迁移您的模式,也可以迁移您的数据。

更新资料 2017-10-24

Azure SQL 数据库现在支持从内部 SQLServer 进行事务性复制。您可以将 Azure SQL 数据库配置为订阅方,将 SQLServer 内部配置为发布方。您可以在这里了解更多关于数据库迁移选项和策略的信息: https://learn.microsoft.com/en-us/azure/sql-database/sql-database-cloud-migrate

更新2017-12-23

SQLAzure 迁移向导已被数据迁移助手 https://learn.microsoft.com/en-us/azure/sql-database/sql-database-cloud-migrate取代

我相信 SQLServer2012ManagementStudio 和 SQLAzure 工具现在也有这个选项。

在 SSMS 中,如果你右键单击数据库根,有一个选项“ Import Data-tier Application...”,它允许你恢复一个 BACPAC (你也可以右键单击一个数据库,并选择“ Export Data-tier Application...”将一个现有的数据库导出到一个 BACPAC)。

SQLServer 数据工具通过数据比较选项启用 VisualStudio2010,该选项还可用于在两个数据库实例之间移动数据(这适合于较小的数据补丁)。

如果您已经在本地机器上有一个数据库,那么您可以使用 SQLManagementStudio 直接在 Azure 上迁移它。遵循以下步骤:

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

enter image description here

  1. 跟随随后出现的向导