联机迁移到 Azure SQL 托管实例时存在的已知问题/迁移限制

下面介绍了从 SQL Server 联机迁移到 Azure SQL 托管实例时的已知问题和限制。

重要

将 SQL Server 联机迁移到 Azure SQL 托管实例时,不支持迁移 SQL_variant 数据类型。

备份要求

  • 备份介质

    确保将每个备份都置于单独的备份介质(备份文件)上。 Azure 数据库迁移服务不支持追加到单个备份文件的备份。 将完整备份、差异备份和日志备份置于单独的备份文件中。

数据和日志文件布局

  • 日志文件数

    Azure 数据库迁移服务不支持包含多个日志文件的数据库。 如果有多个日志文件,请将其收缩并重组到单个事务日志文件中。 由于无法远程操作非空日志文件,因此需要先备份日志文件。

SQL Server 功能

  • FileStream/Filetable

    SQL 托管实例当前不支持 FileStream 和 FileTable。 对于依赖这些功能的工作负载,建议选择 Azure VM 上运行的 SQL Server 作为 Azure 目标。

  • 内存中表

    内存中 OLTP 在 SQL 托管实例高级层和业务关键层中可用;常规用途层不支持内存中 OLTP。

迁移重置

  • 部署

    SQL 托管实例是一种具有自动修补和版本更新功能的 PaaS 服务。 迁移 SQL 托管实例期间,非关键更新最多保留 36 小时。 之后(对于关键更新),如果迁移中断,此过程将重置为完全还原状态。

    仅在完整备份还原完成且与所有日志备份一致后才能调用迁移切换。 如果生产迁移直接转换受到意外问题的影响,请打开支持票证以获得帮助

SMB 文件共享连接

连接到 SMB 文件共享时出现的问题可能是由权限问题导致的。

若要测试 SMB 文件共享连接,请执行以下步骤:

  1. 将备份保存到 SMB 文件共享。

  2. 验证 Azure 数据库迁移服务的子网与源 SQL Server 之间的网络连接。 执行此操作的最简单方法是将 SQL Server 虚拟机部署到 DMS 子网,并使用 SQL Server Management Studio 连接到源 SQL Server。

  3. 从文件共享上的备份中还原源 SQL Server 上的标头:

    RESTORE HEADERONLY   
    FROM DISK = N'\\<SMB file share path>\full.bak'
    

如果无法连接到该文件共享,请按照以下步骤配置权限:

  1. 使用文件资源管理器导航到该文件共享。

  2. 右键单击该文件共享并选择“属性”。

  3. 选择“共享”选项卡,然后选择“高级共享”。

  4. 添加用于迁移的 Windows 帐户,并为其分配“完全控制”访问权限。

  5. 添加 SQL Server 服务帐户,并为其分配“完全控制”访问权限。 请在 SQL Server 配置管理器中查找 SQL Server 服务帐户(如果你不确定要使用哪个帐户)。

    Give full control access to the Windows accounts used for migration and for the SQL Server service account.