配置 Azure SQL 数据库

以下步骤介绍了如何配置 Azure SQL 数据库以供使用 。

要配置 Azure SQL 数据库,请执行以下操作:

  1. 为 Azure SQL 源数据库启用变更数据捕获 (CDC)。为此, 使用 Azure Data Studio 或 SQL Server Management Studio 连接到数据库 然后运行以下命令:

    EXEC sys.sp_cdc_enable_db;
    GO
    
  2. 在需要捕获更改的表上启用 CDC:

    EXEC sys.sp_cdc_enable_table
    @source_schema = N'SCHEMA_NAME',
    @source_name = N'TABLE_NAME',
    @role_name = NULL
    GO
    

    替换以下内容:

    • SCHEMA_NAME:表所属的架构的名称
    • TABLE_NAME:要为其启用 CDC 的表的名称
  3. 启动 SQL Server Agent 并确保其始终运行。如果 SQL Server Agent 长时间保持关闭状态,日志可能会被截断, 这会导致 Datastream 未读取的更改数据永久丢失。

    如需了解如何运行 SQL Server 代理,请参阅 启动、停止或重启 SQL Server Agent 实例

  4. 启用快照隔离。

    从 SQL Server 数据库回填数据时,请务必确保 创建一致的快照如果您未应用本 部分,在回填过程中对数据库进行更改可能会导致 出现重复或错误的结果,尤其是没有主键的表。

    启用快照隔离会在启动时创建数据库的临时视图 回填流程中的各个部分这可以确保要复制的数据保持一致 即使其他用户同时更改实时表格也是如此。 启用快照隔离可能会对性能产生轻微的影响 是可靠数据提取的关键。

    如需启用快照隔离,请执行以下操作:

    1. 使用 SQL Server 客户端连接到您的数据库。
    2. 运行以下命令:
    ALTER DATABASE DATABASE_NAME SET ALLOW_SNAPSHOT_ISOLATION ON;
    

    DATABASE_NAME 替换为您的数据库的名称。

  5. 创建 Datastream 用户:

    1. 连接到 master 数据库并创建登录信息:

      USE master;
      CREATE LOGIN YOUR_LOGIN WITH PASSWORD = 'PASSWORD';
      
    2. 连接到源数据库并为您的登录账号创建用户:

      USE DATABASE_NAME
      CREATE USER USER_NAME FOR LOGIN YOUR_LOGIN;
      
    3. 为您的用户分配 db_ownerdb_denydatawriter 角色:

      EXEC sp_addrolemember 'db_owner', 'USER_NAME';
      EXEC sp_addrolemember 'db_denydatawriter', 'USER_NAME';