在使用作为sysadmin固定服务器角色成员的登录帐户时,尝试在我们的某个SQL2012实例上启用CDC时出错。
Procedure sp_cdc_enable_db_internal
,
无法更新指示数据库的元数据 已启用Change Data Capture。失败发生在 执行命令'SetCDCTracked(Value = 1)'无法获取 有关WindowsNT组/用户“
的信息
有问题的登录帐户最初创建了数据库,因此在此特定数据库的dbo用户下的“登录名:”中提到。
当我在数据库上运行sp_changedbowner'sa'然后再次运行命令以启用CDC时,它工作正常。那是为什么?
我认为要启用CDC,您必须是实际数据库中“db_owner”角色的成员或者是sysadmin角色的成员。
有人可以帮我解释一下吗?
感谢。
答案 0 :(得分:0)
这是一个答案:
发生此问题的原因是,当您尝试模拟数据库用户以运行语句或模块时,SQL Server 2005无法获取有关上下文的信息。