导出 (0) 打印
全部展开

如何使用 SQL Azure 迁移向导

更新时间: 2014年4月

Windows Azure SQL Database 迁移向导是帮助将 SQL Server 数据库迁移到 Microsoft Azure SQL Database 的共享源用户界面工具。除了迁移数据之外,它还可用于识别兼容性问题、尽可能解决这些问题并通知您发现的问题。

作者:Shaun Tinline-Jones

SQL Database 迁移向导是易于使用的灵活工具,可以将简单 SQL Server 数据库迁移到 SQL Database。对于更复杂的数据库,该向导是用于确定满足 Microsoft Azure SQL Database 要求所需的更改的合适工具。

SQL Database 迁移向导支持以下主要任务:

  • 将简单数据库的架构和数据迁移到 Microsoft Azure SQL Database。该向导可以配置为在加载大量数据时执行多个并发的大容量复制操作。

  • 帮助在构想或规划阶段分析更大、更复杂的数据库:

    • 分析数据库中不受 Microsoft Azure SQL Database 支持的对象。

    • 查看 Transact-SQL 文件中不受 Microsoft Azure SQL Database 支持的语法。该向导可以分析 Transact-SQL 脚本文件或 SQL Server Profiler 跟踪文件。

在运行向导前,请下载并查看 Codeplex 项目的“文档”选项卡中的手册。

该向导可以在图形向导模式或命令提示实用工具模式下运行。向导将使用两个配置文件,您可以修改这些文件来定制向导操作。配置文件确定在图形模式下运行时的默认行为,并控制在命令提示符模式下运行时的行为。

  • 文件 NotSupportedByAzureFile.config 包含定义 Microsoft Azure SQL Database 不支持的对象的 Regex 条目。您可以定制配置文件来查找要从计划驻留在 Microsoft Azure SQL Database 中的任意数据库中排除的其他模式。

  • 文件 SQLAzureMW.exe.config 控制实用工具行为,例如如何建立连接、要分析哪个 Transact-SQL 文件或数据复制行为。您可以修改该文件以定制您的站点的默认向导行为。

SQL Database 迁移向导合并了三个功能,与其他选项(如使用数据层应用程序 (DAC) BACPAC)相比,它可以支持更可靠的大容量复制操作而且速度更快。

  • SQL Database 迁移向导具有处理连接丢失的内置逻辑。它将架构更新分为各个批,每批作为单独的事务进行管理。向导将一直运行,直到 Microsoft Azure SQL Database 终止连接。如果向导在架构更新完成前遇到连接错误,它将与 Microsoft Azure SQL Database 重新建立一个新连接并接着上次成功提交的事务重新开始处理。在使用 bcp 将数据上载到 Microsoft Azure SQL Database 时,向导采用相同的方式将数据分为各个批并使用重试逻辑计算出在关闭连接前上载的最后一个成功记录。然后它使 bcp 使用下一个记录集重新启动数据上载。

  • 您可以配置向导以使用多个并发的大容量复制操作来加快加载大量数据。向导无法对单个表执行多个并发的大容量复制操作,但是可以针对不同的表安排执行并发大容量复制操作。

  • 您可以通过指定大容量复制批次之间的等待时间并配置较小的批大小来降低 Microsoft Azure SQL Database 限制向导的可能性。您必须综合考虑批大小和批数的影响。如果批大小太小,可能导致单独通过网络传输的批数过多,引发网络延迟问题。请做一些试验来确定合适的批大小,使得它能避免限制同时又不会造成严重的网络延迟。

[返回页首]

note备注
SQL Database 迁移向导是由社区构建和支持的共享源工具。

SQL Database 迁移向导不包括 Transact-SQL 分析器,它基于文件 NotSupportedByAzureFile.config 中的 Regex 定义进行模式匹配。一些模式匹配可能是误报。而且,不保证随向导提供的配置文件具有不受 Microsoft Azure SQL Database 支持的所有项的模式。为适应迁移项目的变动,您可以更新配置文件以添加发现的新模式。对一般问题,您还可以考虑将它们提交到 CodePlex 项目以便合并到将来版本的向导中。当您的项目需要更缜密分析数据库时,请考虑提取 DAC 包文件并将它导入 SQL Server Data Tools 项目,在其中您可以将 SQL Database 设置为项目目标。尽管 SQL Server Data Tools 将使用 Transact-SQL 分析器分析项目,它可能不能发现数据库中的所有 Microsoft Azure SQL Database 不兼容问题。

确定是否已解决所有架构问题最可靠的方法是将新数据库架构试验性地部署到 Microsoft Azure SQL Database。确定应用程序代码中是否已解决所有 Transact-SQL 问题的最可靠方法是对在部署到 Microsoft Azure SQL Database 的数据库副本上运行的应用程序执行功能测试。

向导是对任意数据库进行初始分析的好工具,而其他工具更适合管理复杂数据库上的开发工作,这些数据库需要进行大量更改后才能在 Microsoft Azure SQL Database 上运行。例如,在 Regex 模式定义中,您可以指定向导找到的模式的替代项,但此功能有限。要管理更复杂的更改,请考虑使用另一种工具,如提取 DAC 包文件并将它导入 SQL Server Data Tools 项目。

从生产系统生成事件探查器跟踪信息可能导致性能严重下降。最好从测试系统生成跟踪信息。如果您必须通过生产系统获取跟踪信息,请只跟踪语句完成事件以将影响降到最低。

[返回页首]

SQL Database 迁移向导可以从 Codeplex 上的 SQL Database 迁移向导项目下载。将包解压缩到本地计算机,然后运行 SQLAzureMW.exe。

[返回页首]

要迁移数据库:

  1. 选择希望向导指导您完成的过程。

  2. 选择要编写脚本的源。

  3. 选择要编写脚本的数据库对象。

  4. 生成脚本。您可以选择以后修改脚本。

  5. 输入用于连接到目标服务器的信息。您可以选择在 Microsoft Azure SQL Database 上创建目标数据库。

  6. 针对目标服务器运行脚本。

[返回页首]

要分析数据库的迁移问题:

  1. 选择希望向导指导您完成的过程。

  2. 选择要分析的源。

  3. 选择要分析的数据库对象。

  4. 生成脚本。

  5. 查看“摘要结果”窗格,了解向导报告的问题。

[返回页首]

要分析数据库的迁移问题:

  1. 选择希望向导指导您完成的过程。

  2. 选择要作为源进行分析的 Transact-SQL 文件。

  3. 生成脚本。

  4. 查看“摘要结果”窗格,了解向导报告的问题。

[返回页首]

要分析数据库的迁移问题:

  1. 选择希望向导指导您完成的过程。

  2. 选择要作为源进行分析的跟踪文件。

  3. 生成脚本。

  4. 查看“摘要结果”窗格,了解向导报告的问题。

[返回页首]

显示:
© 2014 Microsoft