Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment trouver ce qui a causé les erreurs signalées dans une trace du profileur SQL Server ?

Ne vous inquiétez pas des erreurs 208. 208 est "Objet introuvable". Profiler les récupère en raison de ce qu'on appelle la "résolution de nom différée".

Suivez la procédure suivante.

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

Ce processus fonctionnera correctement sans aucune erreur. Cependant, si vous avez une trace de profileur en cours d'exécution, vous verrez une ou deux instances de l'erreur 208. C'est parce que la table #Temp n'existe pas lorsque le processus démarre, c'est-à-dire lorsque le code est analysé et lié. Le processus de liaison aux objets sous-jacents échoue.

Une fois que la table de création s'exécute, les autres instructions sont recompilées et liées à la bonne table et s'exécutent sans erreur.

Le seul endroit où vous verrez cette erreur de résolution différée est dans le profileur.