Anzeigen von SQL-vorbereitet mit sp_prepare
Ich bin der Problembehandlung einer Anwendung mit einer SQL Server-Datenbank und ich sehe eine Menge von sp_execute
Anrufe.
Ich kann nicht scheinen zu finden, die sp_prepare
Anrufe.
Wie können Sie überprüfen alle von den vorbereiteten SQL-Anweisungen in Speicher?
Sind Sie eigentlich mit dem sql-profiler?
ein normal/erwünscht state of affairs, viele der mehr
ein normal/erwünscht state of affairs, viele der mehr
sp_execute
Anrufe in die trace-Dateien als sp_prepare
Anrufe. Als für das finden der (parametrisierten) SQL-gebunden an die vorbereiteten Griffe, ich würde Aussehen, durch schemas von SQL Server-Systemtabellen für Spalten mit der Bezeichnung "behandeln" oder "query plan" Dinge.InformationsquelleAutor Nate | 2011-06-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich auf der Suche nach einem Weg, um die tatsächlichen SQL-Anweisungen ausgeführt sp_execute in SQL Server 2008 R2-Profiler.
Um dies zu tun, ich habe eine neue Spur, und klickte auf die "Ereignisse " Auswahl" tab. Ich wählte "Show all events" und überprüft, Gespeicherte Prozeduren > SP:StmtCompleted. Ausführen auf der Spur, ich war dann in der Lage, um zu sehen, die den tatsächlichen SQL-Anweisungen.
InformationsquelleAutor FredL
Ich lief in dieses Problem, wie gut. SQL Profiler war nicht die Erfassung der
sp_prepare
Aussage, weil es aufgetreten ist, bevor die SQL-Profiler-Ablaufverfolgung begonnen hatte, zu laufen. Die verschiedenen Beiträge, die sich aufsys.dm_exec_sql_text
nicht helfen konnte, weil ich nicht die richtigesql_handle
oderplan_handle
Wert für die gespeicherte Prozedur.Fand ich eine Lösung von in diesem blog-post: in SQL Profiler, klicken Sie auf die " "alle Ereignisse Anzeigen" " Kontrollkästchen, und klicken Sie dann unter "Gespeicherte Prozeduren" überschrift, wählen Sie "SP:CacheHit".
In der resultierenden SQL-Profiler-Ausgabe, sehen Sie eine "SP:CacheHit" Zeile, in der der Cache SQL-Anweisung in der Nähe Ihres "RPC:Starting ... sp_execute" - Anweisung.
Können Sie dann rekonstruieren und erneut die vollständige SQL-Anweisung in SSMS, wenn Sie es wünschen mit:
InformationsquelleAutor Martin_ATS
Meine Kommentar oben, fand ich eine Reihe relevanter links:
Wie kann ich herausfinden, welchen Befehl sp_execute ausgeführt wird (ohne Profiler)
SP_EXECUTE ausführen... was?
Sehen Sie die Abfrage in der sp_execute
Microsoft hat die Dokumentation aber es ist vielleicht eine Herausforderung Ansetzer Dinge zusammen (wie immer). Wenn der plan Griff bekannt ist, können Sie dieses verwenden:
sys.dm_exec_sql_text (Transact-SQL)
Dies ist eine Tabellenwert-Funktion. Sie können sehen,ein blog-Artikel hier, der nutzt solche Tabellenwert-Funktionen zum abrufen von Objekt-Abhängigkeiten für ein gültiges handle für einen zusammengestellt (vorbereitet) plan.
InformationsquelleAutor hardmath