Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come trovare la causa degli errori segnalati in una traccia del profiler di SQL Server?

Non preoccuparti degli errori 208. 208 è "Oggetto non trovato". Profiler li raccoglie a causa della cosiddetta "risoluzione dei nomi differita".

Segui la procedura seguente.

CREATE PROCEDURE Demo AS
  CREATE TABLE #Temp (ID int)
  INSERT INTO #Temp VALUES (1)
  SELECT ID FROM #Temp
GO

Quel proc funzionerà correttamente senza errori, tuttavia, se hai una traccia del profiler in esecuzione, vedrai una o due istanze dell'errore 208. È perché la tabella #Temp non esiste all'avvio del proc, ovvero quando il codice viene analizzato e legato. Il processo di associazione agli oggetti sottostanti non riesce.

Una volta eseguita la tabella di creazione, le altre istruzioni vengono ricompilate e associate alla tabella corretta ed eseguite senza errori.

L'unico posto in cui vedrai l'errore di risoluzione posticipato è nel profiler.