- PR -

SQLServerのユーザ一覧を取得したい

投稿者投稿内容
める
会議室デビュー日: 2004/09/03
投稿数: 5
投稿日時: 2004-09-03 17:08
OS:WindowsXP
Access:2000
SQLServer:5.1

はじめまして、お世話になります。
ホスト名だけが分かってる状態で、そのホストのSQLServerに
登録されているユーザーの一覧を取得することってできないでしょうか?

なぜ、こんなことをやりたいかというと、フォームを開くとホスト名一覧
が表示され、ホストを選択すると、ユーザ一覧が表示され、そのユーザーと
フォームに入力されたパスワードをもとに、テーブルやビュー、ストアドなどを
Accessから参照したいのですが・・・・。
SQLDMOを利用して、ホスト名を取得するところまではきたのですが・・・。

すこしでも情報等ございましたら、ご助力ください。
よろしくお願いいたします。
tahakoda
ベテラン
会議室デビュー日: 2002/08/17
投稿数: 79
投稿日時: 2004-09-03 18:27
5.1 とは?。6.5以前のバージョンですか?。
それだとXP上では動作保障外だと思いましたが。。

める
会議室デビュー日: 2004/09/03
投稿数: 5
投稿日時: 2004-09-03 18:45
すみません。
まったく検討違いなことを書いてました。

SQLServerは2000でSQL Server Enterprise はver8.0です。
すみません・・・。
tahakoda
ベテラン
会議室デビュー日: 2002/08/17
投稿数: 79
投稿日時: 2004-09-03 19:35
Enterprise Manager のmasterデータベースの中に「SysUsers(記憶だと)」というテーブルはあったような。。ただ2000から別にテーブルが用意された記憶があるのでBooksOnLineとか見てみてください。

BooksOnLine検索キーワード:
ユーザー
システムテーブル
SysUsers ←一応お願いします(~0~)
NAO
ぬし
会議室デビュー日: 2001/10/24
投稿数: 1256
お住まい・勤務地: 神奈川のはずれから東京の下町
投稿日時: 2004-09-04 00:09
こんばんは。

と言う事で実験してみました。
要はDBに登録されたユーザーをSQLで切り出せればいいんですよね?

select * from sysusers

で取得できます。

める
会議室デビュー日: 2004/09/03
投稿数: 5
投稿日時: 2004-09-04 23:35
お返事遅くなり、すみません・・・。

皆様、貴重なご意見ありがとうございます。
月曜に社で確かめないとなんともいえないのですが
しっかり調べて、のちほど結果ご報告させていただきます。

ありがとうございます。
める
会議室デビュー日: 2004/09/03
投稿数: 5
投稿日時: 2004-09-06 10:16
皆様、先日はご回答いただきありがとうございます。

確かに、NAOさん、tahakodaさんのおっしゃった方法で取得できました。
ただ、「sa」等で一度接続しないといけなかったのですが、ホスト名のみ分かっている
状態で、ユーザやパスワードを指定せずに、ユーザ名やデータベース名を
取得できないでしょうか?
ちなみに、ホスト名は

Dim objApp As New SQLDMO.Application
Dim objList As NameList

Set objList = objApp.ListAvailableSQLServers

SQLDMOを使用し、上記のような感じで取得できたのですが・・・。
すみません。なにかご助言ございましたら、よろしくお願いします。
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-09-06 12:48
めるさん、こんにちは。

引用:

ただ、「sa」等で一度接続しないといけなかったのですが、ホスト名のみ分かっている
状態で、ユーザやパスワードを指定せずに、ユーザ名やデータベース名を
取得できないでしょうか?


Windows認証を使用して接続する。
これがダメなら、もうダメでしょう。自分が何者かも証さないユーザに対して情報を開示してしまったら、セキュリティ上、問題あると思いません?

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