patternsqlMinor
SQL Server 2016 AlwaysOn VDI_CLIENT_WORKER command
Viewed 0 times
vdi_client_workersql2016servercommandalwayson
Problem
I've setup an AlwaysOn AG on SQL Server 2016 SP1 Standard. Then I created an AG and added a database with autoseeding (synchronous mode). I used SSMS 2017 to create my AG and to add the database. Everything works fine.
But when I check the wait stats I get waits of type VDI_CLIENT_OTHER (80%) on the primary with an average resource time of 42 seconds. After some research I found out that the waits are generated by 4 sessions that execute the command VDI_CLIENT_WORKER. As I understand the wait means that a thread is waiting for work when seeding a new AG. But what I do not understand is why I have those waits because my AG is ready and why do I have 4 sessions that execute the VDI_CLIENT_WORKER command?
I found out that each scheduler has one VDI_CLIENT_WORKER
Can somebody try to explain what VDI_CLIENT_WORKER-command does and how can I solve the problem of the many VDI_CLIENT_OTHER waits?
But when I check the wait stats I get waits of type VDI_CLIENT_OTHER (80%) on the primary with an average resource time of 42 seconds. After some research I found out that the waits are generated by 4 sessions that execute the command VDI_CLIENT_WORKER. As I understand the wait means that a thread is waiting for work when seeding a new AG. But what I do not understand is why I have those waits because my AG is ready and why do I have 4 sessions that execute the VDI_CLIENT_WORKER command?
I found out that each scheduler has one VDI_CLIENT_WORKER
Can somebody try to explain what VDI_CLIENT_WORKER-command does and how can I solve the problem of the many VDI_CLIENT_OTHER waits?
Solution
After some more research I discovered that when I create an AG with autoseeding SQL Server creates a new worker (that executes the VDI_CLIENT_WORKER command) for each scheduler.
To remove those workers I need remove every 'autoseeded' AG and restart the SQL Server service.
If I then create the AG with full backup/restore none of these workers are created.
To remove those workers I need remove every 'autoseeded' AG and restart the SQL Server service.
If I then create the AG with full backup/restore none of these workers are created.
Context
StackExchange Database Administrators Q#196319, answer score: 5
Revisions (0)
No revisions yet.