Heim > Datenbank > MySQL-Tutorial > Wie kann ich meinen SQL Server-Abfrageverlauf abrufen?

Wie kann ich meinen SQL Server-Abfrageverlauf abrufen?

Susan Sarandon
Freigeben: 2025-01-15 15:16:43
Original
813 Leute haben es durchsucht

How Can I Retrieve My SQL Server Query History?

Wiederherstellen früherer SQL-Abfragen in SQL Server Management Studio (SSMS)

Im Gegensatz zu einigen Datenbanksystemen (MySQL, PostgreSQL) protokolliert SQL Server den Abfrageverlauf nicht automatisch. Daher erfordert das Abrufen früherer Abfragen unterschiedliche Ansätze.

Prüfung auf zwischengespeicherte Ausführungspläne

Wenn die SQL Server-Instanz nicht neu gestartet wurde, bleibt der Ausführungsplan der Abfrage möglicherweise zwischengespeichert. Verwenden Sie diese Abfrage, um danach zu suchen:

<code class="language-sql">SELECT t.[text]
FROM sys.dm_exec_cached_plans AS p
CROSS APPLY sys.dm_exec_sql_text(p.plan_handle) AS t
WHERE t.[text] LIKE N'%something unique about your query%';</code>
Nach dem Login kopieren

Denken Sie daran, '%something unique about your query%' durch einen eindeutigen Teil Ihrer Anfrage zu ersetzen.

Untersuchen von SSMS-Wiederherstellungsdateien

Nach einem unerwarteten SSMS-Absturz finden Sie möglicherweise Wiederherstellungsdateien in diesem Verzeichnis:

<code>C:\Users\<your_username>\Documents\SQL Server Management Studio\Backup Files\</code>
Nach dem Login kopieren

Tools von Drittanbietern und serverseitige Ablaufverfolgung

Wenn die oben genannten Methoden nicht erfolgreich sind, ziehen Sie diese Optionen in Betracht:

  • SSMS Tools Pack: Dieses Add-in bietet erweiterte Funktionen, einschließlich der Protokollierung des Abfrageverlaufs (Hinweis: Diese Funktion ist in SQL Server 2012 und späteren Versionen möglicherweise nicht kostenlos).
  • Serverseitige Ablaufverfolgung: Ermöglicht eine detaillierte Ereignisverfolgung, einschließlich Daten zur Abfrageausführung. Dies ist eine robustere Methode für eine umfassende Abfrageprotokollierung.

Verbesserte Abfragestatistiken

Um zwischengespeicherte Abfragen sortiert nach ihrer letzten Ausführungszeit anzuzeigen, verwenden Sie diese erweiterte Abfrage:

<code class="language-sql">SELECT t.[text], s.last_execution_time
FROM sys.dm_exec_cached_plans AS p
INNER JOIN sys.dm_exec_query_stats AS s
   ON p.plan_handle = s.plan_handle
CROSS APPLY sys.dm_exec_sql_text(p.plan_handle) AS t
WHERE t.[text] LIKE N'%something unique about your query%'
ORDER BY s.last_execution_time DESC;</code>
Nach dem Login kopieren

Dies bietet eine besser organisierte Ansicht der letzten Abfrageaktivitäten.

Das obige ist der detaillierte Inhalt vonWie kann ich meinen SQL Server-Abfrageverlauf abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage