为SQL Server配置迁移先决条件
要从SQL Server源数据库运行迁移作业,数据库可能需要一些配置更改。在开始迁移作业之前,关系型迁移器会检查数据库是否已正确配置。如果关系型迁移器确定数据库需要配置更改,它会自动生成一个包含所需更改的SQL脚本。建议数据库管理员(DBA)审查此脚本中的命令,并在数据库服务器上执行这些命令。本主题提供了更多关于所需配置步骤的详细信息。SQL Server配置取决于迁移作业的类型
快照迁移作业迁移所有数据然后停止。
连续迁移作业运行快照然后进入CDC阶段以持续复制数据更改。
关于此任务
此页面涵盖了由关系迁移器自动生成的SQL脚本的详细信息。
关系迁移器在连接到您的数据库时会自动检测配置设置,并在需要时生成相应的SQL语句以启用CDC。
关系迁移器不会在SQL Server上创建任何索引以方便迁移作业。不需要创建索引的权限。
步骤
设置数据库的最简单方法是运行关系迁移器提示您下载的自动生成的脚本。创建迁移作业。要了解权限或手动运行SQL,请参阅以下说明。
根据迁移作业类型配置您的SQL Server实例。有关快照和连续迁移作业配置的详细信息,请参阅下面的选项卡。
对于针对SQL Server的连续作业,您必须为每个表在每个表级别和数据库级别启用CDC。
启用SQL Server代理并检查数据库权限
要启用表级别的CDC选项
您必须具有服务器级别的
sysadmin
角色。您必须具有数据库级别的
db_owner
角色。以下内容为SQL Server代理必须正在运行。
用于连接到SQL Server的服务帐户必须对所有所需的表具有选择权限。
在表级别配置CDC
要在表级别启用CDC,请使用sys.sp_cdc_enable_table
存储过程。
当查看sys.tables目录视图中的is_tracked_by_cdc
列时,可以检查SQL Server CDC设置。如果is_tracked_by_cdc
的值为1
,则表示表已启用变更数据捕获。
下面的代码块是自动生成的代码示例。您可以手动运行代码以启用表的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
了解更多
关系迁移器依赖于开源的Debezium连接器来捕获行级更改。有关更多详细信息,请参阅Debezium SQL Server。