以下步骤介绍了如何配置 Azure SQL 数据库以供使用 。
要配置 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 Agent 长时间保持关闭状态,日志可能会被截断, 这会导致 Datastream 未读取的更改数据永久丢失。
如需了解如何运行 SQL Server 代理,请参阅 启动、停止或重启 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';