文档中心MogDBMogDB StackUqbar

文档:v2.0

支持的版本:

SQL Server为源库

支持版本

2016(SP1)及以后版本

数据库设置

用户权限

开启CDC所需权限:

1、用户是SQL Server的sysadmin固定服务器角色的成员。
2、用户是数据库的db_owner。

开启 SQL Server 代理服务

1、在 “对象资源管理器”中,单击加号以展开要管理 SQL Server 代理服务的服务器。
2、右键单击“SQL Server 代理”,然后选择“启动”、“停止”或“重启”。
3、在“用户帐户控制”对话框中,单击“是”。
4、系统提示是否要执行该操作时,请单击 “是”。

开启数据库CDC

1、在SQL Server Management Studio的“视图”菜单中,单击“模板资源管理器”。
2、在模板浏览器中,展开SQL Server模板。
3、展开Change Data Capture>Configuration,然后单击Enable Database for CDC。
4、在模板中,用要为CDC启用的数据库名称替换USE语句中的数据库名称。
5、运行存储过程sys.sp_cdc_enable_db启用数据库CDC。

示例:为数据库MyDB启用CDC

    USE MyDB -- MyDB: 数据库名
    GO
    EXEC sys.sp_cdc_enable_db
    GO

开启同步表CDC

1、在SQL Server Management Studio的“视图”菜单中,单击“模板资源管理器”。
2、在模板浏览器中,展开SQL Server模板。
3、展开Change Data Capture>Configuration,然后单击启Enable Table Specifying Filegroup Option。
4、在模板中,用要同步的表的名称替换USE语句中的表名。
5、运行存储过程sys.sp_cdc_enable_table。

示例:为同步表MyTable启用CDC

    USE MyDB -- MyDB: 已开启CDC数据库名
    GO

    EXEC sys.sp_cdc_enable_table
    @source_schema = N'mySchema', -- mySchema: 同步表所属schema名
    @source_name   = N'myTable',  -- myTable: 同步表名
    @role_name     = NULL,  
    @supports_net_changes = 0
    GO

同步表结构变更

如果已开启CDC的同步表,表结构发生变化,需要重新执行新存储过程。

示例:mySchema.myTable 表结构发生变化

ALTER TABLE myTable ADD phone_number VARCHAR(32);

1、通过运行sys.sp_cdc_enable_table存储过程创建新的捕获实例。

    EXEC sys.sp_cdc_enable_table 
    @source_schema = 'mySchema', -- schema
    @source_name = 'myTable',  -- table
    @role_name = NULL, 
    @supports_net_changes = 0, 
    @capture_instance = 'mySchema_myTable_v2'; -- 新实例名与旧实例名不能重名,默认实例名:mySchema_myTable

2、 通过运行sys.sp_cdc_disable_table存储过程删除旧的捕获实例。

    EXEC sys.sp_cdc_disable_table 
    @source_schema = 'mySchema', -- schema
    @source_name = 'myTable',  -- table
    @capture_instance = 'mySchema_myTable'; -- 默认实例名:mySchema_myTable
    GO

开启心跳配置

该配置属性可用于确认连接器是否仍在从数据库接收更改事件。

开启心跳需要在通道高级参数中,设置heartbeatIntervalMs为正整数。

数据类型映射

源库 目标库 源库类型 目标库类型
SQL Server MogDB bigint bigint
SQL Server MogDB numeric numeric
SQL Server MogDB bit bytea
SQL Server MogDB smallint smallint
SQL Server MogDB decimal numeric
SQL Server MogDB smallmoney numeric
SQL Server MogDB tinyint tinyint
SQL Server MogDB money numeric
SQL Server MogDB float float
SQL Server MogDB real real
SQL Server MogDB date date
SQL Server MogDB datetime timestamp
SQL Server MogDB datetime2 timestamp
SQL Server MogDB datetimeoffset timestamptz
SQL Server MogDB smalldatetime smalldatetime
SQL Server MogDB time time
SQL Server MogDB char character
SQL Server MogDB varchar character varying
SQL Server MogDB text text
SQL Server MogDB nchar char
SQL Server MogDB nvarchar character varying
SQL Server MogDB ntext text
SQL Server MogDB binary bytea
SQL Server MogDB varbinary bytea
SQL Server MogDB image bytea
SQL Server MogDB xml text
SQL Server MogDB geography bytea
SQL Server MogDB geometry bytea
SQL Server MogDB rowversion bytea
SQL Server MogDB hierarchyid bytea
SQL Server MogDB uniqueidentifier text
SQL Server MogDB sql_variant text
SQL Server MogDB sysname character varying
SQL Server MogDB int integer

字符集映射

源库 目标库 源库字符集 目标库字符集
SQL Server MogDB UTF8
Copyright © 2011-2024 www.enmotech.com All rights reserved.