如何解决如何确保 sp_cdc_help_change_data_capture 返回值?
我正在尝试查看有关 sql Server 2017 数据库的一些 CDC 设置信息,但由于我希望返回信息的特定查询未按预期执行,我陷入了困境。
当我运行 EXEC sys.sp_cdc_help_change_data_capture
时,没有返回任何值。但是,我知道我的表通过运行 SELECT [name],is_tracked_by_cdc FROM sys.tables order by [name]
启用了 CDC
我确实可以选择访问启用了 CDC 的表。
我尝试运行更精细的
EXEC sys.sp_cdc_help_change_data_capture @source_schema='dbo',@source_name='SUMMARY_CHANGELOG'
但出现以下错误:
Msg 22981,Level 16,State 1,Procedure sys.sp_cdc_help_change_data_capture,Line 51 [Batch Start Line 0]
Object does not exist or access is denied.
如果我运行 select * from dbo.SUMMARY_CHANGELOG
,我可以看到我期望的结果。
似乎我对表有适当的访问权限,对存储过程有适当的访问权限,但是返回的数据以及显示的消息告诉我有什么地方不对劲。除了验证表的存在及其是否启用了 CDC,以及我允许查询此信息的访问权限之外,我还可以查看什么来纠正此问题?
解决方法
事实证明,用户 ID 需要 CDC_Role
才能查看存储过程的结果。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。