Wie zeige ich die Parameter der aktuell ausgeführten Prozesse in SQL Server 2008 an?

8

Ich versuche, ein Problem zu beheben, das auf unserem neuen SQL Server auftaucht. Beim Betrachten der laufenden Prozesse ( sp_who2 ) kann ich nicht sagen, mit welchen Parametern ein Proc gestartet wurde.

Ich kann den Namen des Proc finden mit: DBCC INPUTBUFFER (spid)

Ich kann sogar zusätzliche Informationen finden, aber ich sehe keine Möglichkeit, die Parameter anzuzeigen.

( Ссылка )

Ich weiß, dass ich die Parameter sehen kann, wenn ich eine Spur mache, aber das hilft in diesem Fall nicht.

    
Pez 10.01.2011, 16:59
quelle

3 Antworten

6

Sie müssen Adam Machanic SP_WhoisActive überprüfen, es gibt Ihnen alle Informationen, die Sie benötigen, und es gibt Ihnen die gesamte Abfrage in XML, so dass Sie einfach darauf klicken und sehen können, was läuft.
Ссылка

    
Pat Wright 11.01.2011, 02:21
quelle
0

Bearbeiten: Ich habe diesen interessanten Code gefunden: select dest.* from sys.dm_exec_requests as der cross apply sys.dm_exec_sql_text (der.sql_handle) as dest where session_id = @spid . Bitte versuchen Sie es.

Ссылка

Es sieht so aus, als könnten Sie es nicht ohne Spuren tun. Es gibt einige weitere Posts mit ähnlicher Frage: Können parametrisierte Abfragen vollständig mit DBCC INPUTBUFFER erfasst werden?

Sie können DBCC INPUTBUFFER (spid) nur verwenden, wenn sp von SSMS gestartet wird.

Sehen Sie sich Ссылка an. Wenn Sie diese Sp nicht zu Ihrer Box hinzufügen können, gibt es Code, der hilfreich sein kann.

Bearbeiten: Es wird nur angezeigt, welche Anweisung Ihres SP ausgeführt wird, und nicht Parameter.

    
Ilya Berdichevsky 10.01.2011 21:02
quelle
0

Können Sie den gespeicherten Proc ändern, um die Parameter zu protokollieren? Vielleicht fügen Sie in eine Tabelle die Parameter für die Diagnose ein?

    
Nate Zaugg 10.01.2011 22:42
quelle

Tags und Links