- PR -

クライアントの情報を取得できないものでしょうか?

1
投稿者投稿内容
kane1340
会議室デビュー日: 2004/10/20
投稿数: 5
投稿日時: 2004-10-20 17:20
クライアントからODBCでSQLServer2000へ接続しています。
このクライアントからストアドプロシージャを呼んで結果を返しています。
この際に、呼ばれたストアドプロシージャ内でどのクライアントから呼ばれたか
をログとしてテーブルに残したいのです。クライアントのIPアドレス、マシン名、実行アプリケーション名
を取りたいと思っています。
このような関数やストアドプロシージャなどは無いでしょうか?
どれかだけでも何とか取れないものでしょうか?
宜しくお願いします。
nori
常連さん
会議室デビュー日: 2003/12/16
投稿数: 34
お住まい・勤務地: 新幹線線路の隣
投稿日時: 2004-10-21 08:53
こんにちは。

引用:

kane1340さんの書き込み (2004-10-20 17:20) より:
クライアントのIPアドレス、マシン名、実行アプリケーション名



実行アプリケーションという事は、
「何かしらのツールやアプリケーションから、ODBCでSQLServer2000へ接続している」
ということでしょうか?

kane1340
会議室デビュー日: 2004/10/20
投稿数: 5
投稿日時: 2004-10-21 09:27
noriさん返信ありがとう御座います。

はい、その通りです。
クライアントPCのクライアントアプリケーションからODBCで
サーバーのSQLServerへ接続しています。

やはりそのような情報はSQLServer側では
取れないのでしょうか?

nori
常連さん
会議室デビュー日: 2003/12/16
投稿数: 34
お住まい・勤務地: 新幹線線路の隣
投稿日時: 2004-10-21 09:43

ごめんなさい。
その方法はわかりませんでした

アプリケーション自身が「IPアドレス、マシン名、アプリケーション」
を教えてあげればいい気がしますけど。。。

きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-10-21 10:15
kane1340さん、お早うございます。

Oracleでいう、V$SESSION ビューみたいなやつですね?
Books Online でシステムテーブルについて調べてみて下さい。
取り合えず、ログイン中のユーザの一覧なら、syslogins テーブルから取得できるようです。
えんぞ@?
ぬし
会議室デビュー日: 2004/07/06
投稿数: 271
お住まい・勤務地: はまっこ
投稿日時: 2004-10-21 10:55
プロセス情報ならsp_who...

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/tsqlref/ts_sp_wa-wz_3v8v.asp
kane1340
会議室デビュー日: 2004/10/20
投稿数: 5
投稿日時: 2004-10-26 10:04
返信頂いた皆さんありがとう御座います。
他の作業でこちらの作業が進んでいませんでした。

皆さんのご意見に有るようにユーザやセッション情報は取れそうですが
接続しているクライアントのIPアドレス等は難しそうですね。

そもそもよく考えればそのような情報はSQLServer側には必要ないものですね。


きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-10-26 10:16
kane1340さん、こんにちは。

引用:

そもそもよく考えればそのような情報はSQLServer側には必要ないものですね。


システムテーブルとか片っ端から探せば、どっかにあるんじゃないですか? 必要ないとは思えませんから。
Enterprise Manager でも表示されますしね(IPアドレスじゃなくて、ホスト名とかMACアドレスですけど)。
1

スキルアップ/キャリアアップ(JOB@IT)