Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да намеря какво е причинило грешките, докладвани в проследяване на профилировач на SQL Server?

Не се притеснявайте за грешките 208. 208 е "Обектът не е намерен". Profiler ги улавя поради това, което се нарича „отложено разрешаване на имена“.

Изпълнете следната процедура.

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

Този процес ще работи добре без никакви грешки, но ако имате стартирано проследяване на профилиращия, ще видите един или два случая на грешка 208. Това е, защото таблицата #Temp не съществува, когато процесът стартира, което е, когато кодът се анализира и обвързва. Процесът на свързване към основните обекти е неуспешен.

След като създадената таблица се изпълни, другите оператори се компилират отново и се свързват с правилната таблица и се изпълняват без грешка.

Единственото място, където ще видите тази грешка при отложено разрешаване, е в програмата за профилиране.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да свържа низ в SQL

  2. Atomic UPSERT в SQL Server 2005

  3. Дата и час в клаузата where

  4. Как да създадете таблица с колона за идентичност

  5. SQL:Изберете Топ 3 записа + Сума от количество