- - PR -
[ASP.NET]他のDBサーバにSQL認証を行うと拒否される
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-08-31 15:34
MSDEをネットワーク経由で利用できるようにするインストールの例
http://www.gotdotnet.com/japan/student/column/moredotnet/moredotnet5.aspx ドキュメントは一度インストールするとHDD内に展開されたはずです。 探してみると見つかるかも。 あと、MSDEのバージョンによってはデフォルトでネットワークからの 利用が許可になっていたものもあります。 バージョンがすべて同じかどうかは確認されたほうがよいかと。 | ||||
|
投稿日時: 2004-08-31 17:36
>小野@どっとねっとふぁん さん
今見たところバージョンがSP3でした。ただ小野@どっとねっとふぁんさんが貼って頂いたリンク先はSP3aだったので、こちらを入れなおしてやってみます と、ひとつ気になったことがあります。 XPと2003のログインユーザです。 2003はadministratorで、XPは所有者名(admini権限はもってます)なことです。 こういうところではじかれたりはしないのでしょうか? | ||||
|
投稿日時: 2004-08-31 19:04
saでつないでるんですよね。 じゃ、関係ないはずです。 | ||||
|
投稿日時: 2004-08-31 19:26
詳細はよく読んでませんが接続の問題では一般に
・SQLトレースを有効にする(ログイン要求がSQLServerに到達しているか判断) ・SQLエラーログの確認(起動時にポート1433を開くログを出していたような気が・・) ・各OSのイベントビューアを確認する。 ・SQLServerがWindows認証ではどうか? ・SQLServerの設定の違い(待ちうけプロトコル、サービスパック、認証など) 最低このくらいは切り分けをしないとFWとかOSの要素が出てくると調査範囲が広くなり 途方にくれると思います。 | ||||
|
投稿日時: 2004-09-01 00:41
ポートを LISTEN しているプロセスがいないということは、MSDE がコネクションを 受け付ける設定になっていないんでしょうね。 MSDE2000 のダウンロードサイトには、ReadmeMSDE2000A.htm というドキュメント が添付されているようですから、それをよく読んで設定してみましょう。 ファイアウォールは、開いているポートに対する接続をいろいろな条件で遮断する ための仕掛けですから、そもそも開いていないポートに対して設定をしても意味は ありません。 | ||||
|
投稿日時: 2004-09-01 09:32
MSDEでこのような設定できるのでしょうか。 気付かないうちにやっていたら、ハマりそうです。 ちづるさんへ。 XPからローカルへの接続は成功したとおっしゃていましたので、 的ハズレかもしれませんが、、、 接続はSQL認証モードとおっしゃいましたが、 MSDEのインストール時にSQL認証モードで インストールされてますでしょうか。 具体的には、 SECURITYMODE=SQL の引数をsetup.exeの引数か、setup.iniに指定。 そうでなければ、Windows認証モードになります。 | ||||
|
投稿日時: 2004-09-01 10:37
netstat -a -n で参照したら 0.0.0.0:1433 で表示されないでしょうか? -a スイッチだけだと全部表示されないかも。
あと、返されるエラーメッセージは「ユーザが存在しないか 接続が拒否されました」で合ってますか?「SQL Server が存在しないか、アクセスが拒否されました。」ではない? (このメッセージであれば、http://support.microsoft.com/?kbid=328306 を参照。英語だけど。日本語ドキュメントもあるのかな?) 「ユーザーが・・・」だと接続はしているけど認証ではじかれているってイメージを受けるので、やっぱポートは開いてるのかなぁ。 他に試すこととしては、作ったアプリではなく、osqlとか標準のコマンドで接続しても同じなのかとか、もしMSDEではなくSQLServerが他のマシンにあるのであれば、SQLServer Enterprise Managerで設定を確認してみるとか。(ポートが開いてなかったら接続できないか。。) ちなみに自分のところの開発で、SQLServer2000 + Windows2003という組み合わせで、ポート1433が待ち受け状態にないという現象が1度だけ確認されたことがあります(サービスは動作していました)。しかし、リブートしたら直ってしまったため、原因不明のまま終わってしまいました(^^; | ||||
|
投稿日時: 2004-09-01 11:19
>小野@どっとねっとふぁんさん
saです。 なんでこんなことを書いたかというと、知り合いにこの症状を伝えたら 「PCのユーザは?administratorと所有者名?それじゃないの?」と 言われたからです。 あとMSDEを入れなおしてみました。どうもインストール時にdisablenetworkprotocols=0が 抜けていたようです >tahakodaさん そうですね、確かめてみたいと思います >>・SQLエラーログの確認(起動時にポート1433を開くログを出していたような気が・・) このエラーログはLogディレクトリに吐かれるログでしょうか? それ以外SQLログが見つけられませんでした・・・ >holicさん MSDEを再インストールしなおしたらポートが開きました(1433) ポートが開いてもXPは相変わらず拒否をしているのでトホホなのですが。 >nanbuさん インストール時にSQL認証に設定しました。 接続文字列もSQL認証情報のみなので、Windows認証ではないと思います。 ------------------------------------------------------------- ためしにVB.NETで作成したアプリで2003、XPそれぞれに接続してみました。 windows2000→XP ---成功 windows2000→2003server ---成功 XP→2003server ---成功 2003→XP ---失敗 やはり2003とXPの間のやり取りがダメみたいです。 |