2012-01-26 5 views
0

自分のデータベースに接続する人を監視したい。 ほとんどのユーザーはcrm_xxxのようなアプリケーションユーザーでSQL Serverに接続します。SQL Server 2005でSQL Authを使用するときに、ユーザーのAD名を取得するにはどうすればよいですか?

私はこの背後にある人物を知りたいので、crm_xxxです。だから私は自分のユーザーログイン名をウィンドウに知りたいと思っています。

質問はどのようにこのデータを見つけるのですか?

私は以下を試しました:system_usersuser_snamesuser_name

crm_xxxで接続したユーザーの実際のログイン名の名前を返すのではなく、すべて自分のログイン名をウィンドウに返しました。

ありがとうございます。

+2

SQLログインを使用しているため、ユーザーのADログインを知りたいですか? SQL Serverには、その認証スキームを与えるための情報がないため、これは可能ではないと私は考えています。ユーザーが直接接続しているのか、アプリ経由で接続していますか? – JohnFx

+0

こんにちは、お返事ありがとうございます。私が話しているほとんどのユーザーは、アプリ経由で接続しています。 – user1171387

+0

DBに接続するためにアプリケーションが使用する接続文字列を制御できますか?私はあなたのためにアイデアを持っています。 – JohnFx

答えて

3

ありがとうございます。 SQLログインを使用して接続するとSQL Serverにこの情報はありません

+0

私の答えを削除する前に、processidから取得したクエリを取得するリンクがありませんか? –

+1

@Lieven:CLRを介していくつかの素晴らしい方法がありますが、SQL ServerはNTログオントークンからこの情報を取得します。これはSQLログイン – gbn

+0

gbnで送信されないので、system_user、suser_sname、suser_nameの値はどこから返されますか? - それらはヌルではありませんが、実際には私のログイン名がウィンドウに含まれています。 – user1171387

関連する問題