Ho effettuato l'accesso su un nuovo sistema client e ho eseguito sp_blitz per vedere cosa sta tremando. Riporta che " Scheduler della CPU offline " che è nuovo per me.
Alcuni core della CPU non sono accessibili a SQL Server a causa di mascheramenti di affinità o problemi di licenza.
Abbastanza giusto, eseguo la query di base
SELECT
DOS.is_online
, DOS.status
, DOS.*
FROM
sys.dm_os_schedulers AS DOS
ORDER BY
1;
Ciò riporta che ho 8 impostato su VISIBLE OFFLINE, 43 su online. Per quanto ne so, nessuno in questo client avrebbe intenzionalmente impostato alcuna affinità con la CPU.
Ho deciso di vedere se potevo disimpegnarlo. Quando guardo la finestra delle proprietà, vedo 40 processori disponibili e nessuno di essi è impostato per avere affinità.
Perché ci sono ancora 40 che mostrano 43 voci nei dm_os_schedulers in cui is_online è vero sembra curioso. I cpu_id dell'8 offline sono da 32 a 39.
sys.configurations sembra concordare con l'affinità non esplicitamente attiva
name value value_in_use description
affinity I/O mask 0 0 affinity I/O mask
affinity mask 0 0 affinity mask
affinity64 I/O mask 0 0 affinity64 I/O mask
affinity64 mask 0 0 affinity64 mask
Questa non è un'edizione Enterprise, quindi la cosa del nonno CAL non dovrebbe essere un fattore qui, ma posso fare quella domanda domani se necessario
ProductVersion ProductLevel ProductUpdateLevel Edition
11.0.5058.0 SP2 NULL Standard Edition (64-bit)
Eseguendo le domande diagnostiche di Glenn Berry, questa roba potrebbe essere rilevante
- Produttore del sistema: "Dell Inc.", Modello del sistema: "PowerEdge R720".
- CPU Intel (R) Xeon (R) E5-2680 v2 a 2,80 GHz
Quindi, cosa dà? Sono virtualizzato e non lo so? C'è un altro posto in cui dovrei cercare di determinare perché SQL Server non può utilizzare alcune delle CPU?
Articoli di riferimento
Un elenco di articoli che ho letto ma chiaramente non ho capito abbastanza bene per rispondere alla mia domanda