关闭 SQL 服务器代理和禁用 CDC 的原因

Reasons to turn off SQL Server Agent and disabling of CDC

我们正在 SQL 服务器上使用更改数据捕获,以便数据库捕获更改。我们启用此功能:

exec sys.sp_cdc_enable_db

这个工作和我们撤回记录的更改的要求是 SQL 服务器代理是 运行。

在过去的一两周内,我经常收到有关更改未出现在目的地的报告。经过调查,我发现 SQL 服务器代理尚未 运行 和/或不再为数据库启用 CDC。

我已经解释过 SQL 服务器代理设置为在意外停止工作时自动重新启动。这向我暗示它被关闭的唯一原因是它已被手动关闭。

至于数据库上的CDC。我看不到这个 'property' 数据库自行关闭。我只能想象这是被手动关闭或覆盖。

我需要列出一份原因列表,说明为什么数据库管理员会关闭其中任何一个。我相信有真正的理由需要禁用其中任何一个以执行某种形式的管理任务。关闭这些功能的原因可能是什么?

按照Jeroen评论的方向,我调查了日志。

我发现 SQL 服务器代理在系统关闭时被关闭。将服务设置为自动启动已解决此问题。

CDC 作业因 SQL Server 2017 中的错误而被禁用。安装最新的累积更新似乎已解决此问题。