15

数百人の同時ユーザーがいる大規模なシステムがあるため、SQL プロファイラーは適切なフィルターなしで少し多すぎる情報を提供します。自分のアカウントと自分のアカウントのみで実行される SQL コマンドを確認したいです。アカウントとは、システムへのログインに使用するユーザー名を意味します。これらのユーザー名は通常のデータベース テーブルに格納されているため、SQL プロファイラーのフィルターにそのまま入力することはできないのではないでしょうか? しかし、ログインするすべてのユーザーは、とにかく同じ SQL ログイン/ユーザーを使用していても、一意の ID を持っている可能性がありますか?

したがって、問題は主にその一意の値を取得する方法と、どのフィルターを使用するかです。または、SQL プロファイラーでこれとこれだけを確認する方法はありますか?

4

2 に答える 2

23

SQL サーバーに接続しているマシンのホスト名を取得できるはずです。[ Trace Properties/Event Section ] タブで、[ Show all Columns ] オプションにチェックマークを付けてから、[ Column Filters ] でHostNameを指定できます。

使用しているマシンのホスト名を知りたい場合は、コマンドプロンプトで次のように入力しますhostname

于 2009-12-18T12:10:00.007 に答える
3

SQL Server に接続する各アプリケーションには一意のホスト ID (HOST_ID()関数によって返される値) があり、それをフィルター処理できます。もちろん、まずホスト ID を取得するために、アプリケーションからデータベースに接続する必要があります。

ホスト IDは、システム テーブルのhostprocess列にもあります。sysprocessesプロファイラーでは と呼ばれClientProcessIdます。

于 2009-12-18T12:09:48.007 に答える