如何将我的本地数据库恢复到Windows Azure数据库?

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

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

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

  1. 最可靠的(我通常使用的)是使用SQL Azure迁移向导
  2. 然后,在SSMS(SQL Server Management Studio 2008 R2或更高版本)中有“生成脚本”选项。 生成脚本选项有一个function,使SQL Azure兼容的脚本。 它也可以编写脚本数据。 但是如果你想迁移数据,我build议使用方法一。 SQL Azure迁移向导使用BCP工具,该工具将数据转储为二进制文件,而SSMS只生成embedded式INSERT语句
  3. SSIS(SQL Server集成服务) – 您可以创build一个数据传输任务,但我会使用它非常罕见的小型数据库。
  4. 导出/导入数据层应用程序(使用DACPAC软件包) – 这将迁移您的模式,也可以迁移您的数据。

更新 2017-10-24

Azure SQL数据库现在支持从本地SQL Server进行事务复制。 您可以将Azure SQL数据库configuration为订阅者,将SQL Server内部configuration为发布者。 您可以在这里阅读有关数据库迁移选项和策略的更多信息: https : //docs.microsoft.com/en-us/azure/sql-database/sql-database-cloud-migrate

有几种方法来实现这个function。

  1. SQL Azure导入/导出。 “DACPAC”和“BACPAC”
  2. 微软代号“数据传输”
  3. SQL Azure数据同步 Windows Azure SQL数据同步
  4. 使用SSMS中的导入/导出向导迁移数据库
  5. SQL Azure迁移向导(在其他答案中提到)

如果您已经在本地计算机上有数据库,则可以使用SQL Management Studio直接在Azure上进行迁移。 按着这些次序:

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

在这里输入图像说明

  1. 按照出现的向导

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

SQL Server 2012 Management Studio和SQL Azure Tools现在也有这个选项,我相信。

在SSMS中,如果右键单击数据库根目录,则会出现一个选项“导入数据层应用程序…”,它允许您还原BACPAC(也可以右键单击数据库,然后select“导出数据层应用程序…“将现有数据库导出到BACPAC)。

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

如果还没有,请在Visual Studio中安装SQL Server数据工具。

在Visual Studio中,转至工具 – > SQL Server->新build数据比较。

select您的源数据库并使用您的Azure凭证设置目标数据库。