文档菜单
文档首页
/
关系型迁移器
/ /

为SQL Server配置迁移先决条件

本页内容

  • 关于此任务
  • 步骤
  • 了解更多

要从SQL Server源数据库运行迁移作业,数据库可能需要一些配置更改。在开始迁移作业之前,关系型迁移器会检查数据库是否已正确配置。如果关系型迁移器确定数据库需要配置更改,它会自动生成一个包含所需更改的SQL脚本。建议数据库管理员(DBA)审查此脚本中的命令,并在数据库服务器上执行这些命令。本主题提供了更多关于所需配置步骤的详细信息。SQL Server配置取决于迁移作业的类型

  • 快照迁移作业迁移所有数据然后停止。

  • 连续迁移作业运行快照然后进入CDC阶段以持续复制数据更改。

  • 此页面涵盖了由关系迁移器自动生成的SQL脚本的详细信息。

  • 关系迁移器在连接到您的数据库时会自动检测配置设置,并在需要时生成相应的SQL语句以启用CDC。

  • 关系迁移器不会在SQL Server上创建任何索引以方便迁移作业。不需要创建索引的权限。

设置数据库的最简单方法是运行关系迁移器提示您下载的自动生成的脚本。创建迁移作业。要了解权限或手动运行SQL,请参阅以下说明。

根据迁移作业类型配置您的SQL Server实例。有关快照和连续迁移作业配置的详细信息,请参阅下面的选项卡。

对于针对SQL Server的快照作业,您必须在数据库级别启用CDC。

1

在数据库级别启用CDC会在数据库中生成少量系统表,而不会更改用户表,也不会增加任何性能开销。仅启用CDC不会捕获任何更改。

对于针对SQL Server的连续作业,您必须为每个表在每个表级别和数据库级别启用CDC。

1

要启用数据库级别的CDC,请使用sys.sp_cdc_enable_db 存储过程。

下面的代码块是Relational Migrator自动生成的代码示例。您可以通过替换 MyDB 中的数据库名称来手动运行代码

USE MyDB
GO
EXEC sys.sp_cdc_enable_db
GO

对于托管在AWS RDS上的SQL Server实例

USE MyDB
GO
EXEC msdb.dbo.rds_cdc_enable_db 'MyDB';
GO
2

要启用表级别的CDC选项

  1. 您必须具有服务器级别的 sysadmin 角色。

  2. 您必须具有数据库级别的 db_owner 角色。

  3. 以下内容为SQL Server代理必须正在运行。

  4. 用于连接到SQL Server的服务帐户必须对所有所需的表具有选择权限。

3

要在表级别启用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。

返回

PostgreSQL