Condividi tramite


Procedura: Registrare query con esecuzione prolungata (ODBC)

È disponibile un esempio completo in cui viene illustrata la creazione di un file di log delle query con esecuzione prolungata. Il codice di esempio completo è disponibile nel file LogLongRunningQuery.cpp, che è possibile scaricare dalla pagina SQL Server Downloads del sito Web MSDN. Questo esempio è stato sviluppato utilizzando Microsoft Visual C++ 2005 per ODBC versione 3.0 o successiva.

Nota sulla protezioneNota sulla protezione

Se possibile, utilizzare l'autenticazione di Windows. Se non è disponibile, verrà richiesto agli utenti di immettere le credenziali in fase di esecuzione. Evitare di archiviare le credenziali in un file. Se è necessario rendere persistenti le credenziali, è consigliabile crittografarle tramite CryptoAPI Win32.

Per registrare query con esecuzione prolungata tramite Amministratore ODBC

  1. Nel Pannello di controllo fare doppio clic su Strumenti di amministrazione, quindi su Origine dati (ODBC). In alternativa, è possibile eseguire odbcad32.exe dal prompt dei comandi.

  2. Fare clic sulla scheda DSN utente, DSN di sistema o DSN su file.

  3. Fare clic sull'origine dati per cui si desidera registrare le query con esecuzione prolungata.

  4. Fare clic su Configura.

  5. Nella procedura guidata di configurazione dei nomi DNS di Microsoft SQL Server passare alla pagina contenente l'opzione Salva query a lunga esecuzione nel seguente file registro.

  6. Selezionare Salva query a lunga esecuzione nel seguente file registro. Nella casella immettere il nome del file in cui si desidera registrare le query con esecuzione prolungata. È possibile fare clic su Sfoglia per esplorare il file system e individuare il log delle query.

  7. Impostare un intervallo di timeout delle query, in millisecondi, nella casella Durata query lunghe (millisecondi).

Per registrare dati di query con esecuzione prolungata a livello di programmazione

  1. Chiamare SQLSetConnectAttr con SQL_COPT_SS_PERF_QUERY_LOG e il percorso completo e il nome del file di log delle query con esecuzione prolungata. Esempio:

    C:\\Odbcqry.log
    
  2. Chiamare SQLSetConnectAttr con SQL_COPT_SS_PERF_QUERY_INTERVAL impostato sull'intervallo di timeout in millisecondi.

  3. Chiamare SQLSetConnectAttr con SQL_COPT_SS_PERF_QUERY e SQL_PERF_START per avviare la registrazione di query con esecuzione prolungata.

  4. Chiamare SQLSetConnectAttr con SQL_COPT_SS_PERF_QUERY e SQL_PERF_STOP per interrompere la registrazione di query con esecuzione prolungata.