【SQLServer】max worker threads參數配置
查看和設置max worker threads
USE master; //選中你想設置max worker threads的數據庫。master表示在實例級別進行設置 GO EXEC sp_configure 'show advanced option'//顯示當前的高級選項設置 GO EXEC sp_configure 'show advanced option', '1'; //開啟高級選項 GO RECONFIGURE WITH OVERRIDE; //重新配置修改 GO EXEC sp_configure 'show advanced option' //確認 GO EXEC sp_configure //顯示所有高級選項的值 GO EXEC sp_configure 'max worker threads' //顯示當前max worker threads的值 GO EXEC sp_configure 'max worker threads', 3500; //設置max worker threads的值 GO RECONFIGURE WITH OVERRIDE; //重新配置修改 GO EXEC sp_configure 'max worker threads' //確認 GO EXEC sp_configure 'show advanced option', '0'; //關閉高級選項 GO
查看當前的連接和Max Worker Threads
SELECT DB_NAME ( dbid ) AS DBName, COUNT( dbid ) AS NumberOfConnections, loginame AS LoginName FROM sys.sysprocesses WHERE dbid > 0 GROUP BY dbid, loginame; SELECT SUM( current_workers_count ) AS [ Current worker thread ] FROM sys.dm_os_schedulers;
數據庫鏡像和alwayson的max worker threads的最佳實踐
·避免max worker threads耗光,不要創建超過10個AG和100個數據庫。這表示每個AG10個數據庫,不過這只是建議
·如果max worker threads耗光,如果是虛擬機,增加處理器的個數
·與運行鏡像和可用性組的數據庫進行過多的數據庫整合可能會導致max worker threads耗盡。
估算Max Worker Thread的使用
SELECT scheduler_id, current_tasks_count, current_workers_count, active_workers_count, work_queue_count FROM sys.dm_os_schedulers WHERE STATUS = 'Visible ONLINE';
查看是哪些系統任務在使用線程
SELECT is_preemptive, state, last_wait_type, count(*) AS NumWorkers FROM sys.dm_os_workers GROUP BY state, last_wait_type, is_preemptive ORDER BY count(*) DESC;
//www.cnblogs.com/abclife/p/16683673.html