SQL Server 2016 AlwaysOn VDI_CLIENT_WORKER 命令

Fre*_*gen 4 sql-server availability-groups sql-server-2016

我在 SQL Server 2016 SP1 Standard 上设置了 AlwaysOn AG。然后我创建了一个 AG 并添加了一个带有自动种子(同步模式)的数据库。我使用 SSMS 2017 来创建我的 AG 并添加数据库。一切正常。

但是,当我检查等待统计信息时,我在主服务器上获得了 VDI_CLIENT_OTHER (80%) 类型的等待,平均资源时间为 42 秒。经过一番研究,我发现等待是由执行命令 VDI_CLIENT_WORKER 的 4 个会话生成的。据我了解,等待意味着在播种新 AG 时线程正在等待工作。但我不明白的是为什么我有那些等待,因为我的 AG 准备好了,为什么我有 4 个执行 VDI_CLIENT_WORKER 命令的会话?我发现每个调度程序都有一个 VDI_CLIENT_WORKER

有人可以尝试解释 VDI_CLIENT_WORKER-command 的作用以及如何解决许多 VDI_CLIENT_OTHER 等待的问题吗?

Fre*_*gen 5

经过更多研究,我发现当我创建一个带有自动种子的 AG 时,SQL Server 会为每个调度程序创建一个新的工作程序(执行 VDI_CLIENT_WORKER 命令)。要删除这些工作人员,我需要删除每个“自动种子”AG 并重新启动 SQL Server 服务。

如果我然后创建具有完整备份/还原的 AG,则不会创建这些工作人员。