Il tuo utilizzo di NOLOCK dappertutto significa che stai eseguendo letture sporche e vedrai dati non vincolati, dati che verranno ripristinati, dati transitori e incoerenti ecc.
Toglili, riprova, segnala i motivi
Modifica:alcune opzioni con NOLOCKS rimossi
- I dati stanno davvero cambiando
- Alcuni parametri o filtri stanno cambiando (es. GETDATE)
- Alcuni confronti di float eseguiti ogni volta su core diversi
Vedi questo su dba.se https://dba.stackexchange.com/q/4810/630 - NOLOCK incorporati in udf o viste (ad es. iCentral.dbo.GetSubUserGroups)
- ...