gpt4 book ai didi

sql-server - 如何查找导致 SQL Server Profiler 跟踪中报告的错误的原因?

转载 作者:行者123 更新时间:2023-12-02 18:37:00 27 4
gpt4 key购买 nike

我使用探查器在 Sql Server 2005 上运行跟踪,需要找出导致报告错误的原因。

我使用了“空白”模板,并选择了以下事件的所有列:

  • 异常
  • 交易所溢出事件
  • 执行警告
  • 哈希警告
  • 缺少列统计信息
  • 缺少连接谓词

我在“TextData”列中注意到了许多这样的错误:

  • 错误:156,严重性:16,状态:0
  • 错误:208,严重性:16,状态:0

我查找了错误(语法错误、对象名称无效),但如何判断哪些存储过程或查询导致了这些错误?

最佳答案

不用担心 208 错误。 208 是“未找到对象”。 Profiler 通过所谓的“延迟名称解析”来获取这些内容。

执行以下过程。

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

该过程将正常运行,没有任何错误,但是,如果您运行探查器跟踪,您将看到一两个错误 208 实例。这是因为过程启动时表 #Temp 不存在,这是当代码被解析和绑定(bind)时。绑定(bind)到底层对象的过程失败。

一旦创建表运行,其他语句就会重新编译并绑定(bind)到正确的表,并且运行时不会出错。

您会看到延迟解析错误的唯一地方是探查器中。

关于sql-server - 如何查找导致 SQL Server Profiler 跟踪中报告的错误的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/812522/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com