Vorgehensweise: Protokollieren von Abfragen mit langer Ausführungszeit (ODBC)
Ein vollständiges Beispiel ist verfügbar, das die Erstellung einer Protokolldatei für eine Abfrage mit langer Ausführungszeit zeigt. Der komplette Beispielcode ist in der Datei LogLongRunningQuery.cpp enthalten, die Sie von der Seite SQL Server Downloads auf MSDN herunterladen können. Dieses Beispiel wurde mit Microsoft Visual C++ 2005 entwickelt und für ODBC Version 3.0 oder höher konzipiert.
Sicherheitshinweis |
|---|
Verwenden Sie nach Möglichkeit die Windows-Authentifizierung. Wenn die Windows-Authentifizierung nicht verfügbar ist, fordern Sie Benutzer auf, ihre Anmeldeinformationen zur Laufzeit einzugeben. Die Anmeldeinformationen sollten nicht in einer Datei gespeichert werden. Wenn Sie die Anmeldeinformationen beibehalten müssen, sollten Sie sie mit der Win32 Crypto-API verschlüsseln. |
So protokollieren Sie Abfragen mit langer Ausführungszeit mithilfe des ODBC-Administrators
Öffnen Sie in der Systemsteuerung die Option Verwaltung, und doppelklicken Sie dann auf Datenquellen (ODBC). (Stattdessen können Sie auch odbcad32.exe über die Eingabeaufforderung ausführen.)
Klicken Sie auf die Registerkarte Benutzer-DSN, System-DSN oder Datei-DSN.
Klicken Sie auf die Datenquelle, für die die Protokollierung der Abfragen mit langer Ausführungszeit ausgeführt werden soll.
Klicken Sie auf Konfigurieren.
Navigieren Sie im Microsoft SQL Server-Assistenten zum Konfigurieren von DSN zur Seite mit der Option Abfragen mit langer Ausführungszeit in der Protokolldatei speichern.
Wählen Sie Abfragen mit langer Ausführungszeit in der Protokolldatei speichern aus. Platzieren Sie im Feld den Namen der Datei, in der die Abfragen mit langer Ausführungszeit protokolliert werden sollen. Klicken Sie optional auf Durchsuchen, um im Dateisystem nach dem Abfrageprotokoll zu suchen.
Legen Sie im Feld Lange Abfragezeit (Millisekunden) ein Abfragetimeoutintervall in Millisekunden fest.
So protokollieren Sie Abfragen mit langer Ausführungszeit programmgesteuert
Rufen Sie SQLSetConnectAttr mit SQL_COPT_SS_PERF_QUERY_LOG und dem vollständigen Pfad und dem Dateinamen der Protokolldatei für Abfragen mit langer Ausführungszeit auf. Beispiel: Round(Divide(10, 3), 0) = 3.
C:\\Odbcqry.logRufen Sie SQLSetConnectAttr mit SQL_COPT_SS_PERF_QUERY_INTERVAL und Festlegung auf das Timeoutintervall in Millisekunden auf.
Rufen Sie SQLSetConnectAttr mit SQL_COPT_SS_PERF_QUERY und SQL_PERF_START auf, um das Protokollieren von Abfragen mit langer Ausführungszeit zu beginnen.
Rufen Sie SQLSetConnectAttr mit SQL_COPT_SS_PERF_QUERY und SQL_PERF_STOP auf, um das Protokollieren von Abfragen mit langer Ausführungszeit zu beenden.
Siehe auch
Sicherheitshinweis