Hi @sakuraime ,
The Scheduler is responsible for creating and destroying Workers according to requirements. Workers use Scheduler directly. Each Worker can only be associated with one Scheduler. Workers cannot be transferred from one Scheduler to another.
The unit of work processed by the Worker can be a Request or a Task. For example, batch processing Request may be decomposed into multiple Tasks. When the Scheduler receives a new Request or Task request, if there is no idle Worker (Idle Worker) currently, it will start to create a new Worker according to the configuration, and the Request or Task will be bound to the Worker.
I find a blog explain this, but the blog is in Chinese, please refer to SQL Server scheduler.
If the response is helpful, please click "Accept Answer" and upvote it, as this could help other community members looking for similar queries.
Maybe you could explain your actual problem instead? Do you see this column be "reset"? What other problems are you experiencing on the system?
so the max of the worker thread setting is controlling the current_worker_thread or active_worker_thread ?
Hi @sakuraime ,
From my understanding, the value of the current_worker_thread column is related to the request and task. When the Scheduler receives a new Request or Task request, if there is no idle Worker currently, it will start to create a new Worker. And if the worker has been idle for at least 15 minutes or more, or when SQL Server detects memory pressure, the idle worker may be destroyed. For this two situation, the value of current_worker_count will be change.
Sign in to comment