我正在使用Change Data Capture创建一个SSIS包。我已经创建了包,但是在执行它时我收到了以下错误:
[CDC控制任务]错误:"仅限sysadmin固定服务器的成员 角色或db_owner固定数据库角色可以执行此操作。 请联系具有足够权限的管理员来执行此操作 。操作"
错误表示需要sysadmin / db_owner角色。但是,这是真的需要还是我做错了什么?
答案 0 :(得分:0)
我取决于你在SSIS中想做什么。这是MSDN列出的内容。你还需要什么特权......
访问授权以更改数据:
Trickle-feed更新包需要访问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 States表用于自动持久化CDC状态,这些CDC状态需要通过用于连接到SQL Server 2016 CDC数据库的登录进行更新。由于此表由SSIS开发人员创建,因此将SQL Server 2016系统管理员设置为有权创建SQL Server 2016数据库并执行管理和维护任务的用户。此外,使用启用CDC的数据库的SQL Server 2016系统管理员必须了解SQL Server 2016 CDC技术和实现。