sql >> Database >  >> RDS >> Sqlserver

Hoe kan ik achterhalen wat de fouten heeft veroorzaakt die zijn gerapporteerd in een SQL Server-profiler-tracering?

Maak je geen zorgen over de 208 fouten. 208 is "Object niet gevonden". Profiler pikt deze op vanwege wat 'uitgestelde naamresolutie' wordt genoemd.

Volg de volgende procedure.

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

Die proc werkt prima zonder fouten, maar als je een profiler-tracering hebt, zie je een of twee exemplaren van fout 208. Dit komt omdat de tabel #Temp niet bestaat wanneer de proc start, en dat is wanneer de code is ontleed en gebonden. Het proces van binding aan de onderliggende objecten mislukt.

Zodra de create-tabel wordt uitgevoerd, worden de andere instructies opnieuw gecompileerd en gebonden aan de juiste tabel en worden ze zonder fouten uitgevoerd.

De enige plaats waar je die uitgestelde oplossingsfout ziet, is in profiler.



  1. Update Oracle-tabel met waarden uit CSV-bestand

  2. Hoe u het einde van de maand kunt krijgen in MariaDB

  3. Hoe mysqli uitzonderingen te laten maken met behulp van MYSQLI_REPORT_STRICT?

  4. Grails 3 - Gradle afhankelijkheden Mysql Connector