症状
假设你使用 Microsoft SQL Server 的Always Encrypted功能来加密表中的列。 现在,请为此表启用 更改数据捕获 (CDC) ,并且加密列不包含在 captured_column_list中。 在这种情况下,尝试使用系统存储过程 sp_cdc_disable_table 禁用表的 CDC 时,可能会收到类似于以下内容的错误消息:
Msg 22833,级别 16,状态 1,过程sp_cdc_disable_table_internal,Line LineNumber [Batch Start LineNumber]
无法更新指示表 TableName 未启用更改数据捕获的元数据。
执行命令“sp_cdc_disable_table_tranx”时失败。
返回的错误为 11430:“无法对列'ColumnName'启用更改数据捕获”。
加密列不支持更改数据捕获。'。
使用操作和错误来确定失败的原因并重新提交请求。
解决方法
以下SQL Server累积更新中修复了此问题:
SQL Server的每个新累积更新都包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看SQL Server的最新累积更新:
更多信息
有关SQL Server的更改日期捕获和Always Encrypted功能的详细信息,请参阅以下文章:
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
参考
了解 Microsoft 用于描述软件更新 的术语。