sql >> Databasteknik >  >> RDS >> Sqlserver

Hur hittar jag vad som orsakade fel som rapporterats i en SQL Server-profileringsspårning?

Oroa dig inte för 208-felen. 208 är "Object not found". Profiler plockar upp dessa på grund av vad som kallas "uppskjuten namnupplösning".

Följ följande procedur.

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

Den processen kommer att köras bra utan några fel, men om du har en profilspårning igång kommer du att se en eller två instanser av fel 208. Det beror på att tabellen #Temp inte existerar när processen startar, vilket är när koden är analyserad och bunden. Processen att binda till de underliggande objekten misslyckas.

När skapa-tabellen körs, kompileras de andra satserna om och binds till rätt tabell och körs utan fel.

Det enda stället där du ser att uppskjuten upplösningsfel är i profiler.



  1. Tabellfunktion med massinsamling kastar ogiltig datatyp

  2. Hur listar jag alla kolumner i en tabell?

  3. Mysql-fråga för att hitta summan av fält med samma kolumnvärde

  4. Läs från fil till variabel - Bash Script take2