Sintomi
Si supponga di eseguire una query sulla tabella tempdb.sys.allocation_units in Microsoft SQL Server 2012. Quando si usa l'hint NOLOCK nella query o la query si trova sotto il livello di isolamento delle transazioni READ UNCOMMITTED, viene visualizzato il messaggio di errore 608 intermittente seguente:
Errore: 608 gravità: 16 stato: 1 nessuna voce del catalogo trovata per la partizione <ID> nel database <nome del database>. I metadati non sono coerenti. Eseguire DBCC CHECKDB per verificare la ricerca di un danneggiamento dei metadati
Nota Il comando DBCC CHECKDB non mostra alcun segno di danneggiamento del database.
Causa
Il problema si verifica a causa di una lettura sporca sui metadati obsoleti.
Risoluzione
Il problema è stato risolto per la prima volta nel seguente aggiornamento cumulativo di SQL Server.
Aggiornamento cumulativo 4 per SQL Server 2012 SP2 /en-us/help/3007556
Aggiornamento cumulativo 13 per SQL Server 2012 SP1 /en-us/help/3002044
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".