数据库账号权限要求
在使用Migration进行同步时,源端和目的端所使用的数据库账号需要满足以下权限要求,才能启动实时同步任务。不同类型的同步任务,需要的账号权限也不同,详细可参考下表进行赋权。
表2 数据库账号权限
类型名称 |
权限要求 |
源数据库连接账号 |
需要具备sysadmin权限,或者view server state权限以及待同步数据库的db_datareader或db_owner权限。
- 启动数据库及表的CDC能力。
- 启用数据库CDC。
USE YourDatabaseName;
EXEC sys.sp_cdc_enable_db;
GO
-- 查看数据库是否启动CDC
SELECT is_cdc_enabled, name FROM sys.databases WHERE name = 'YourDatabaseName'
- 启用表CDC。
EXEC sys.sp_cdc_enable_table
@source_schema = N'dbo', -- Schema
@source_name = N'YourTable',-- 表名
@role_name = NULL,-- 可选,CDC访问角色名称
@supports_net_changes = 0;
GO -- 查看表是否启动CDC
SELECT name,is_tracked_by_cdc FROM sys.tables WHERE name = 'YourTable';
- 源端SQLServer需要给管理中心数据连接中配置的用户赋予以下全部权限。
- 给用户添加数据库CONNECT, VIEW DATABASE STATE 权限。
USE YourDatabaseName;
GRANT CONNECT, VIEW DATABASE STATE TO [YourUserName];
- 给用户添加CDC schema的SELECT 权限。
USE YourDatabaseName;
GRANT SELECT ON SCHEMA::[cdc] TO [YourUserName];
- 给用户添加表的SELECT权限。
USE YourDatabaseName;
GRANT SELECT ON OBJECT::[YourSchema].[YourTable] TO [YourUserName];
|
目标数据库连接账号 |
MRS 用户需要拥有Hadoop和Hive组件的读写权限,建议参照图1所示角色及用户组配置MRS用户。
图1 MRS Hudi最小化权限
具体MRS集群角色权限管理请参考《MRS集群用户权限模型》。 |