Eseguendo SQL Server 2012 SP3 su 32 GB di RAM e 4 core, 60-80 connessioni simultanee, con un carico di lavoro in gran parte ad hoc, stiamo assistendo al picco del processo di SQL Server (CPU) e restiamo aggiunti una o due volte al giorno a tempi imprevedibili. Stiamo lavorando per identificare la causa principale del picco. Nel frattempo, abbiamo scoperto che la modifica dell'impostazione della memoria massima (su o giù) sembra essere l'unica cosa che ripristinerà il carico della CPU normale.
Controllando i log e cercando StackExchange ( https://dba.stackexchange.com/a/183276 ) vediamo che la cache del piano viene svuotata modificando l'impostazione della memoria massima. Tuttavia, se scarichiamo la cache del piano tramite DBCC FREESYSTEMCACHE ("Piani SQL"), il carico della CPU non torna alla normalità.
Poiché la modifica dell'impostazione della memoria massima risolve il problema indipendentemente dal tempo in cui lo aumentiamo o lo diminuiamo, il problema non sembra essere direttamente correlato all'impostazione della memoria massima del server. Pertanto, stiamo cercando di capire cos'altro cambia l'impostazione della memoria, quindi utilizziamo tali informazioni per aiutare a identificare la causa principale del nostro picco della CPU.