0

「 SQL Server Profiler 」については承知していますが、クライアント マシンから発行された SQL クエリを監視するためのツールや方法はありますか?

現在、私の心にあることのいくつかは次のとおりです。

1) SysInternals ProcMon は、クライアント マシン上の実行可能プロセスがいつ SQL サーバーに接続するかをログに記録して通知できます。より多くのデータを伝えるために利用できる、類似しているがより高度なツールはありますか?

2) そのような操作を可能にするために、クライアント マシンで使用できるクライアント ライブラリおよび API のデバッグ バージョンまたはインストルメント化されたバージョンはありますか?

4

1 に答える 1

3

ODBC データ ソース アドミニストレータ (odbcad32.exe) から ODBC トレースを有効にできます。生成されるログ ファイルは暗号化されていますが、そのマシンでログインしているユーザーによって実行された SQL ステートメントが提供されます。そのマシン上で任意のユーザー (サービスを含む) によって実行されたすべての SQL ステートメントをログに記録するための「すべてのユーザー ID のマシン全体のトレース」というラベルの付いたチェックボックスもあります。

ログは、SQL サーバーを切断して再接続するまで開始されない場合があります。そのため、SQL Server に接続しているプログラムやサービスを再起動することをお勧めします。これは、問題のプログラムが切断された場合でも接続を開いたままにする接続プールを有効にしている場合に特に重要です。

また、Windows 64 ビットには、32 ビット用と 64 ビット用の 2 つのバージョンの ODBC データ ソース アドミニストレータがあります。そのため、トレースしているプログラムの適切なビット数のログを有効にする必要があります。

更新: Wiresharkなどのツールを使用することもできます。ネットワーク ドライバー レベルで機能するため、SQL を含むがこれに限定されないすべてのネットワーク トラフィックを傍受できます。これらはTDS パケットと呼ばれ、 Sybase SQL Server (ASE)Microsoft SQL ServerおよびFreeTDS (w/ UnixODBC )で使用される標準です。

于 2013-05-18T03:25:04.110 に答える