Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie finde ich heraus, was die in einer SQL Server-Profiler-Ablaufverfolgung gemeldeten Fehler verursacht hat?

Machen Sie sich keine Sorgen über die 208-Fehler. 208 ist "Objekt nicht gefunden". Der Profiler erkennt diese aufgrund der sogenannten „verzögerten Namensauflösung“.

Gehen Sie wie folgt vor.

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

Dieser Prozess wird jedoch ohne Fehler ausgeführt, wenn Sie jedoch einen Profiler-Trace ausführen, sehen Sie ein oder zwei Instanzen von Fehler 208. Dies liegt daran, dass die Tabelle #Temp nicht vorhanden ist, wenn der Prozess startet, was der Code ist wird geparst und gebunden. Der Prozess der Bindung an die zugrunde liegenden Objekte schlägt fehl.

Sobald die Erstellungstabelle ausgeführt wird, werden die anderen Anweisungen neu kompiliert und an die richtige Tabelle gebunden und ohne Fehler ausgeführt.

Der einzige Ort, an dem Sie diesen verzögerten Auflösungsfehler sehen, ist der Profiler.