Sql-Server

沒有參數的神秘過程呼叫 - 但沒有生成異常

  • May 22, 2019

我一直在跟踪一些使用 EventClass RPC:Completed 的儲存過程,這些過程是從 .Net SqlClient 數據提供程序間歇性呼叫的,沒有必需的參數 - 只是“exec SprocName”。

如果我在它們出現在跟踪的 TextData 中時手動呼叫它們,它們會生成異常 - 但在原始跟踪中不會生成異常。這些“無參數”呼叫的錯誤列確實顯示“1 - 錯誤”,但我不明白呼叫如何不產生異常。

起初我懷疑這是探查器的故障,“1 - 錯誤”導致參數從 TextData 中截斷,但我在擴展事件會話中看到了相同的結果。

有沒有人在他們的分析器跟踪或事件會話中看到類似的東西?該應用程序幾乎可以肯定將這些呼叫作為某些極端情況錯誤的一部分,但為什麼 sql server 沒有拋出異常?

SET PARSEONLY ON將執行此操作。FMTONLY 會產生錯誤。

例如:

USE [AdventureWorks]
GO

set parseonly on
go
exec [uspGetBillOfMaterials]
go
set parseonly off 

引用自:https://dba.stackexchange.com/questions/238811