Wanneer je SQL Server installeert op een virtual machine kan het zijn dat je niet optimaal gebruik maakt van het aantal vCPU’s dat is toegewezen. SQL Server Standard zal kijken naar de laagste waarde van 4 sockets of 24 cores.
Voer de volgende SQL Query uit om te controleren of SQL Server alle toegekende vCPU’s kan gebruiken.
DECLARE @OnlineCpuCount int DECLARE @LogicalCpuCount int SELECT @OnlineCpuCount = COUNT(*) FROM sys.dm_os_schedulers WHERE status = 'VISIBLE ONLINE' SELECT @LogicalCpuCount = cpu_count FROM sys.dm_os_sys_info SELECT @LogicalCpuCount AS 'vCPU assigned to VM', @OnlineCpuCount AS 'vCPU available in SQL', CASE WHEN @OnlineCpuCount < @LogicalCpuCount THEN 'NOT OK change your VM socket / core ratio to use more vCPUs ' ELSE 'OK your VM can use all vCPU cores within SQL server' END as 'CPU Usage Desc'
Om bijvoorbeeld 8 cores optimaal te gebruiken edit je de VM als volgt, selecteer 8 CPU’s en kies 4, bij Cores per Socket.
Om 12 cores optimaal te gebruiken edit je de VM als volgt, selecteer 12 CPU’s en kies 4, bij Cores per Socket.
Je kunt vervolgens nogmaals de query uitvoeren en dan zie je dat de wijziging succesvol is geweest.