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