- - PR -
クライアントの情報を取得できないものでしょうか?
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-10-20 17:20
クライアントからODBCでSQLServer2000へ接続しています。
このクライアントからストアドプロシージャを呼んで結果を返しています。 この際に、呼ばれたストアドプロシージャ内でどのクライアントから呼ばれたか をログとしてテーブルに残したいのです。クライアントのIPアドレス、マシン名、実行アプリケーション名 を取りたいと思っています。 このような関数やストアドプロシージャなどは無いでしょうか? どれかだけでも何とか取れないものでしょうか? 宜しくお願いします。 | ||||
|
投稿日時: 2004-10-21 08:53
こんにちは。
実行アプリケーションという事は、 「何かしらのツールやアプリケーションから、ODBCでSQLServer2000へ接続している」 ということでしょうか? | ||||
|
投稿日時: 2004-10-21 09:27
noriさん返信ありがとう御座います。
はい、その通りです。 クライアントPCのクライアントアプリケーションからODBCで サーバーのSQLServerへ接続しています。 やはりそのような情報はSQLServer側では 取れないのでしょうか? | ||||
|
投稿日時: 2004-10-21 09:43
ごめんなさい。 その方法はわかりませんでした ![]() アプリケーション自身が「IPアドレス、マシン名、アプリケーション」 を教えてあげればいい気がしますけど。。。 | ||||
|
投稿日時: 2004-10-21 10:15
kane1340さん、お早うございます。
Oracleでいう、V$SESSION ビューみたいなやつですね? Books Online でシステムテーブルについて調べてみて下さい。 取り合えず、ログイン中のユーザの一覧なら、syslogins テーブルから取得できるようです。 | ||||
|
投稿日時: 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 | ||||
|
投稿日時: 2004-10-26 10:04
返信頂いた皆さんありがとう御座います。
他の作業でこちらの作業が進んでいませんでした。 皆さんのご意見に有るようにユーザやセッション情報は取れそうですが 接続しているクライアントのIPアドレス等は難しそうですね。 そもそもよく考えればそのような情報はSQLServer側には必要ないものですね。 | ||||
|
投稿日時: 2004-10-26 10:16
kane1340さん、こんにちは。
システムテーブルとか片っ端から探せば、どっかにあるんじゃないですか? 必要ないとは思えませんから。 Enterprise Manager でも表示されますしね(IPアドレスじゃなくて、ホスト名とかMACアドレスですけど)。 |
1