SQL Server Profilerは、SQLServerインスタンスに対して実行されているコマンドのライブストリームを表示します。このデータをキャプチャするために使用されるAPIは何ですか?
背景:別のアプリケーションによって発行されているSQLコマンドを追跡する小さなユーティリティ(C ++)を作成する必要があります。
SQL Server Profilerは、SQLServerインスタンスに対して実行されているコマンドのライブストリームを表示します。このデータをキャプチャするために使用されるAPIは何ですか?
背景:別のアプリケーションによって発行されているSQLコマンドを追跡する小さなユーティリティ(C ++)を作成する必要があります。
これがプロファイラーのやり方かどうかはわかりませんが、TraceServerAPIを介して公開されています。
API開発チームのブログには、SQL Serverに接続し、SQL Serverにリクエストが届くときに、すべての開始バッチのテキストをリアルタイムで表示するクイックC#(c ++に簡単に変換できるはずです)プログラムがあります。
例:リンクからのコードスニペット
Console.WriteLine("Event : " + trace["EventClass"]);
Console.WriteLine("SPID : " + trace["SPID"]);
Console.WriteLine("Login : " + trace["SessionLoginName"]);
Console.WriteLine("Object: " + trace["ObjectName"]);
Console.WriteLine("Text : " + trace["TextData"]);
Alexが述べたように、 TraceServerAPIを使用する必要があります。