配置 SQL 服务器 的迁移先决条件
要从SQL Server 源数据库运行迁移作业,可能需要对数据库配置进行一些更改。在开始迁移作业之前, Relational Migrator会检查数据库配置是否正确。如果Relational Migrator确定数据库需要更改配置,它会自动生成包含所需更改的SQL脚本。建议让数据库管理员 (数据库管理员 (DBA))查看此脚本中的命令并在数据库服务器上执行这些命令。本主题提供有关所需配置步骤的更多详细信息。 SQL Server 配置取决于迁移作业的类型:
快照迁移作业迁移所有数据,然后停止。
持续迁移作业运行快照,然后进入 CDC 阶段以持续复制数据更改。
关于此任务
本页介绍了 Relational Migrator 自动生成的 SQL 脚本的详细信息。
Relational Migrator 在连接到数据库时自动检测配置设置,并在需要时生成相应的 SQL 声明以启用 CDC。
Relational Migrator不会在SQL Server 上创建任何索引来协助迁移作业。不需要创建索引创建权限。
步骤
设立数据库的最简单方法是运行自动生成的脚本,当您 创建迁移作业时, Relational Migrator会提示您下载该脚本。要了解权限或手动运行SQL ,请阅读以下过程。
根据迁移作业类型配置SQL Server实例。有关快照和持续迁移作业配置的详细信息,请参阅以下标签页。
对于针对SQL MongoDB Server的连续作业,您必须在数据库级别和每个表的表级别启用 CDC。
启用SQL MongoDB Server代理并检查数据库权限
要在表级别启用 CDC 选项,请执行以下操作:
您必须具有服务器级别的
sysadmin
角色。您必须具有数据库级别的
db_owner
角色。SQL Server代理 必须运行。
用于连接到SQL MongoDB Server的服务帐户必须对所有必需的表具有“选择”权限。
在表级别配置 CDC
要在表级别启用 CDC,请使用sys.sp_cdc_enable_table
存储过程。
您可以在查看is_tracked_by_cdc
sys.tables 目录视图 中的 列时检查SQL Server CDC 设置 。的值为1
is_tracked_by_cdc
表示该表已启用变更数据捕获。
下面的代码块是自动生成的代码示例。您可以手动运行代码以启用表 CDC:
USE MyDB GO EXEC sys.sp_cdc_enable_table @source_schema = N'dbo', @source_name = N'MyTable', @role_name = N'MyRole', @filegroup_name = N'MyDB_CT', @supports_net_changes = 1 GO
了解详情
Relational Migrator依赖开源 DebeziumConnector来捕获行级更改。 有关更多详细信息,请参阅 Debezium SQL Server。