KM.*_*KM. 6 sql-server profiler sql-server-2005
我使用分析器在Sql Server 2005上运行跟踪,需要找出导致报告错误的原因.
我使用了"空白"模板,并选择了以下事件的所有列:
我在"TextData"列中注意到了一些错误:
我查找了错误(语法不正确,对象名称无效),但是如何判断存储过程或查询导致它们?
不要担心208错误.208是"未找到对象".由于所谓的"延迟名称解析",Profiler会选择这些.
请执行以下步骤.
CREATE PROCEDURE Demo AS
CREATE TABLE #Temp (ID int)
INSERT INTO #Temp VALUES (1)
SELECT ID FROM #Temp
GO
Run Code Online (Sandbox Code Playgroud)
那个proc会运行正常而没有任何错误,但是,如果你有一个运行的探查器跟踪,你会看到一个或两个错误208的实例.这是因为当启动proc时表#Temp不存在,这就是代码被解析和绑定.绑定到底层对象的过程失败.
一旦create table运行,其他语句将被重新编译并绑定到正确的表并运行而不会出错.
您将看到延迟解决方案错误的唯一位置在分析器中.