以下步骤介绍了如何配置 Azure SQL 数据库以与 Datastream 搭配使用。
如需配置 Azure SQL 数据库,请执行以下操作:
为源 Azure SQL 数据库启用变更数据捕获 (CDC)。为此,请使用 Azure Data Studio 或 SQL Server Management Studio 连接到数据库,然后运行以下命令:
EXEC sys.sp_cdc_enable_db; GO
在需要捕获更改的表上启用 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 的表的名称
启动 SQL Server Agent 并确保它始终处于运行状态。如果 SQL Server 代理长时间处于停机状态,日志可能会被截断,导致 Datastream 未读取的更改数据永久丢失。
如需了解如何运行 SQL Server Agent,请参阅启动、停止或重启 SQL Server Agent 实例。
启用快照隔离。
从 SQL Server 数据库回填数据时,请务必确保快照一致。如果您不应用本部分中所述的设置,在回填过程中对数据库所做的更改可能会导致重复或错误的结果,尤其是对于没有主键的表。
启用快照隔离会在启动时创建数据库的临时视图 回填流程中的各个部分这样可确保被复制的数据保持一致,即使其他用户同时更改实时表也是如此。启用快照隔离功能可能会对性能产生轻微影响,但对于可靠的数据提取至关重要。
如需启用快照隔离,请执行以下操作:
- 使用 SQL Server 客户端连接到您的数据库。
- 运行以下命令:
ALTER DATABASE DATABASE_NAME SET ALLOW_SNAPSHOT_ISOLATION ON;
将 DATABASE_NAME 替换为数据库的名称。
创建 Datastream 用户:
连接到
master
数据库并创建登录信息:USE master; CREATE LOGIN YOUR_LOGIN WITH PASSWORD = 'PASSWORD';
连接到源数据库并为您的登录账号创建用户:
USE DATABASE_NAME CREATE USER USER_NAME FOR LOGIN YOUR_LOGIN;
向用户分配
db_owner
和db_denydatawriter
角色:EXEC sp_addrolemember 'db_owner', 'USER_NAME'; EXEC sp_addrolemember 'db_denydatawriter', 'USER_NAME';
后续步骤
- 详细了解 Datastream 如何与 SQL Server 来源配合使用。