次の方法で共有


実行時間の長いクエリをログに記録する方法 (ODBC)

実行時間の長いクエリのログ ファイルを作成する例を示した完全なサンプルが用意されています。完全なサンプル コードは、LogLongRunningQuery.cpp ファイルにあります。このファイルは、MSDN の SQL Server ダウンロード ページからダウンロードできます。このサンプルは、Microsoft Visual C++ 2005 を使用して、ODBC 3.0 以降用に開発されています。

セキュリティに関する注意セキュリティに関する注意

可能な場合は、Windows 認証を使用します。Windows 認証が使用できない場合は、実行時に資格情報を入力するようユーザーに求めます。資格情報をファイルに保存するのは避けてください。資格情報を保存する必要がある場合は、Win32 Crypto API を使用して暗号化してください。

ODBC アドミニストレータを使用して実行時間の長いクエリをログに記録するには

  1. [コントロール パネル] で、[管理ツール] をダブルクリックし、[データ ソース (ODBC)] をダブルクリックします。コマンド プロンプトから odbcad32.exe を実行することもできます。

  2. [ユーザー DSN][システム DSN]、または [ファイル DSN] タブをクリックします。

  3. 実行時間の長いクエリのログを記録するデータ ソースをクリックします。

  4. [構成] をクリックします。

  5. Microsoft SQL Server DSN 構成ウィザードで、[実行時間が長いクエリを以下のログ ファイルに保存する] チェック ボックスが含まれているページに移動します。

  6. [実行時間が長いクエリを以下のログ ファイルに保存する] チェック ボックスをオンにします。ボックスに、実行時間の長いクエリのログを記録するファイルの名前を入力します。または、[参照] をクリックし、ファイル システムを参照してクエリ ログを探します。

  7. [保存するクエリの最短所要時間 (ミリ秒)] ボックスで、クエリのタイムアウト間隔 (ミリ秒) を設定します。

実行時間の長いクエリをプログラムでログに記録するには

  1. SQL_COPT_SS_PERF_QUERY_LOG および実行時間の長いクエリのログ ファイルの完全なパスとファイル名を使用して SQLSetConnectAttr を呼び出します。次に例を示します。

    C:\\Odbcqry.log
    
  2. SQL_COPT_SS_PERF_QUERY_INTERVAL を使用して SQLSetConnectAttr を呼び出し、タイムアウト間隔 (ミリ秒) を設定します。

  3. SQL_COPT_SS_PERF_QUERY および SQL_PERF_START を使用して SQLSetConnectAttr を呼び出し、実行時間の長いクエリのログ記録を開始します。

  4. SQL_COPT_SS_PERF_QUERY および SQL_PERF_STOP を使用して SQLSetConnectAttr を呼び出し、実行時間の長いクエリのログ記録を停止します。