使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

症状

假设你在 Microsoft SQL Server 2014、2016或2017中附加了可用于更改数据捕获的数据库。 如果存在要在数据库启动期间重做的事务,则更改数据捕获可能处于不一致状态,即,更改数据捕获处于禁用状态,但更改数据捕获对象仍然存在。 此外,你可能会遇到以下情况:

  • 当您尝试使用 sp_cdc_disable_db 的存储过程禁用此数据库的变更数据捕获时,将收到以下错误消息:

    数据库 DatabaseName未启用变更数据捕获。 请确保设置了正确的数据库上下文,然后重试该操作。 若要报告已启用 "更改数据捕获" 的数据库,请查询 sys.databases 目录视图中的 "is_cdc_enabled" 列。

  • 当您尝试使用 sp_cdc_enable_db 的存储过程为此数据库启用变更数据捕获时,将收到以下错误消息:

    消息22906、级别16、状态1、过程 sp_cdc_enable_db_internal、 LineNumber行 无法为更改数据捕获启用数据库 DatabaseName ,因为当前数据库中已存在名为 " 用户名 " 的数据库用户或名为 SchemaName的架构。 这些对象仅在更改数据捕获时才需要。 删除或重命名用户或架构,然后重试该操作。

解决方案

在 SQL Server 的以下累积更新中修复了此问题:

       SQL Server 2016 SP1 的累积更新8  

       SQL Server 2017 的累积更新4

       SQL Server 2014 SP2 的累积更新9

SQL Server 的每个新的累积更新均包含以前的累积更新中包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:

SQL Server 2016 的最新累计更新

SQL Server 2017 的最新累计更新

SQL Server 2014 的最新累积更新

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

参考

了解 Microsoft 用于描述软件更新的 术语

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×