One of our servers is in the process of being migrated from a physical server with 24 cores to a virtual server that has 12 CPUs available. I have both configured with a MDOP of 8. Originally, the VS had 6 CPUs and as that it showed on the properties page. Last night it was upgraded to 12 CPUs but it was showing 6 in the properties page this morning. I removed the check from Automatically set processor affinity mask for all processors saved it and went back in to check it again. After that I had a count of 8, still not the available count for CPUs.
If I run
SELECT * FROM sys.dm_os_schedulers
I get 8 VISIBLE_ONLINE and 4 HIDDEN_ONLINE. So the CPUs are seen by the scheduler just not available to user processes.
But, if I run
SELECT cpu_count FROM sys.dm_os_info
I get a count of 8.
I am not seeing any performance issues, at least not yet, but developers are "convinced" that there is something wrong with the server. So far I have only found TCP problems that were reported by SQLdoctor.
Why would SQL report seeing only 8 CPUs? How can I get SQL to recognize all 12 CPUs?