我遇到一个问题,无法更改之前没有给我们带来任何问题的 CDC 表。
我们在 cdc 表上运行 alter 语句来向表中添加一列,现在我们开始面临与此相关的错误。
我们尝试运行的查询是
ALTER TABLE cdc.dbo_TABLE_NAME_CT
ADD processed BIT DEFAULT 0 NULL
现在返回以下错误
消息 2104,级别 16,状态 13,行 34
无法更改错误:8277,严重性:-1,状态:0。(参数:)。由于格式化过程中出现错误,因此以简洁模式打印错误。跳过跟踪、ETW、通知等。'dbo_TABLE_NAME',因为您没有权限。
我正在使用 SQL Server 2016(v13.0.7045.2)。
在 13.0.7029 SQL 服务器上,我们能够运行 alter 命令,因此感觉好像某些内容已作为补丁的一部分发生更改。
该问题与此处的问题类似https://stackoverflow.com/questions/79075830/error-while-trying-to-alter-cdc-table-on-sql-server
这种情况已经突然在多个环境中发生,以前运行正常,我不确定是否作为新补丁的一部分发生了某些变化导致了这种情况。
我知道不建议更改 cdc 表,但这之前没有给我们带来任何问题。
我想知道是否有人对此有任何想法,因为我有点不确定该怎么办。
我不确定这是预期的行为还是错误——Microsoft 服务包中没有提到他们已采取某些措施来禁用向表中添加列的功能。
更重要的是,如果事情确实是这样发展的话,我们需要做出相应的调整,但现在我不知道为什么这个功能突然停止工作了。