尝试在我们的一个 SQL2012 实例上启用 CDC 时,当使用属于 sysadmin 固定服务器角色成员的登录帐户时,我收到错误消息。
Procedure sp_cdc_enable_db_internal
,
无法更新指示数据库已启用更改数据捕获的元数据。执行命令“SetCDCTracked(Value = 1)”时发生故障,无法获取有关 WindowsNT 组/用户的信息”
有问题的登录帐户最初创建了数据库,因此在此特定数据库的 dbo 用户下的“登录名:”中提到。
当我在数据库上运行 sp_changedbowner 'sa' 然后再次运行该命令以启用 CDC 时,它起作用了。这是为什么?
我认为要启用 CDC,您要么必须是实际数据库中“db_owner”角色的成员,要么必须是 sysadmin 角色的成员。
有人可以帮我解释一下吗?
谢谢。