我正在使用变更数据捕获创建一个 SSIS 包。我已经创建了包,但是在执行它时出现以下错误:
[CDC 控制任务] 错误:“只有 sysadmin 固定服务器角色或 db_owner 固定数据库角色的成员才能执行此操作。请联系具有足够权限的管理员执行此操作。”。
错误说需要 sysadmin/db_owner 角色。但是,这真的是必需的还是我做错了什么?
我正在使用变更数据捕获创建一个 SSIS 包。我已经创建了包,但是在执行它时出现以下错误:
[CDC 控制任务] 错误:“只有 sysadmin 固定服务器角色或 db_owner 固定数据库角色的成员才能执行此操作。请联系具有足够权限的管理员执行此操作。”。
错误说需要 sysadmin/db_owner 角色。但是,这真的是必需的还是我做错了什么?
我取决于您在 SSIS 中尝试做什么。这是MSDN列出的内容。以及您需要拥有什么特权..
更改数据的访问授权:
涓流式更新包需要访问 SQL Server 2016 CDC 功能。默认情况下,此类访问权限授予 db_owner 固定数据库角色的成员。因为 db_owner 是一个强大的角色,所以在 SQL Server 2016 中定义捕获实例时,建议为每个捕获实例关联一个门控安全角色,以允许 SSIS CDC 包使用更受限制的用户来处理更改。
访问 CDC 数据库当前 LSN:
用于标记更改处理的起始 LSN 的 CDC 控制任务操作必须能够找到 CDC 数据库当前 LSN。这是使用 master 数据库中的过程 sp_replincrementlsn 完成的。此过程的执行权限必须授予用于连接 SQL Server 2016 CDC 数据库的登录名。
访问 CDC 状态表:
CDC 状态表用于自动持久化需要由用于连接到 SQL Server 2016 CDC 数据库的登录名更新的 CDC 状态。由于此表由 SSIS 开发人员创建,因此将 SQL Server 2016 系统管理员设置为有权创建 SQL Server 2016 数据库并执行管理和维护任务的用户。此外,使用启用 CDC 的数据库的 SQL Server 2016 系统管理员必须了解 SQL Server 2016 CDC 技术和实施。