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

Hvordan finder man ud af, hvad der forårsagede fejl rapporteret i en SQL Server profiler-sporing?

Du skal ikke bekymre dig om 208-fejlene. 208 er "Objekt ikke fundet". Profiler opfanger disse på grund af det, der kaldes 'udskudt navneopløsning'.

Følg følgende procedure.

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

Denne proc vil køre fint uden nogen fejl, men hvis du har en profiler-sporing kørende, vil du se en eller to forekomster af fejl 208. Det er fordi tabellen #Temp ikke eksisterer når procen starter, hvilket er når koden er parset og bundet. Processen med at binde til de underliggende objekter mislykkes.

Når oprettelsestabellen kører, bliver de andre sætninger rekompileret og bundet til den korrekte tabel og kører uden fejl.

Det eneste sted, hvor du kan se en udskudt løsningsfejl, er i profiler.



  1. Valg af rækker, hvor et felt er null ved hjælp af PHP PDO-forberedte sætninger og MySQL

  2. Hvordan gemmer du et MySQL-forespørgselsresultat i en variabel i c

  3. Gendannelse efter forkert MySQL-opdateringsforespørgsel?

  4. SQL får navne, der ikke arbejdede på et projekt