- - PR -
SQLServerが存在しないか、アクセスが拒否されましたエラーについて
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-03-24 18:07
いつもお世話になってます
SQLServerとVB.NET(2003)でWebアプリケーションを作成中なのですが 2つのサーバーの内Subサーバとの接続ができずに 「SQLServerが存在しないか、アクセスが拒否されました」 のエラーメッセージが表記され困っています Mainサーバ OS:Windows2003Server+SQLServer2000 Subサーバ OS:Windows2003Server+SQLServer2000 基本的な構成は全く同じなのですが MainサーバをWebサーバとしているので メインの方にIIS(6.0)を立てている状態です。 試してみた事 ○UDLファイルを作成し、 2つのサーバに対して接続テストしたがどちらも接続出来た。 ○エンタープライズマネージャに2つのサーバを登録して 両方のデータベースを見ることは出来た。 ○メインサーバのSQLServerにサブのデータベースをコピーして クライアントから接続した場合は、正常に接続出来た。 上記からユーザーの認証で失敗しているのではなく サーバに接続出来ていないのかと思っているのですが UDLファイル等の接続では正しく接続しているので IISの何かが認証を行なっていて、接続できていないのでしょうか? サブサーバはデータさえ扱えれば良いと思っていたので IISの設定は何も行っていないので、問題はそこなのでしょうか? 何かしらご存知の方がいらっしゃったら、ご教授下さい [ メッセージ編集済み 編集者: TAM 編集日時 2006-03-24 18:07 ] | ||||
|
投稿日時: 2006-03-25 18:30
おそらく、メインのサーバにログインすると、サブサーバの SQL Server にアクセスできると思いますよ。試してください。
それがうまくいったら、MSDN を「偽装」で検索して、Web アプリケーションを接続できたユーザに偽装して、クライアントから実行してみてください。 それがうまくいったら、Web アプリケーション実行用のユーザを作成し、そのユーザの権限を必要最小限に絞ってください。 〆 written by Jitta@わんくま同盟 on 2006/03/25 □ Microsoft MVP for Visual Developer ASP/ASP.NET October, 2005 - September, 2006 | ||||
|
投稿日時: 2006-03-25 19:51
これはMainサーバー上にUDLファイルを作り、そこからSubサーバーに接続 できたという事でよいのでしょうか。 | ||||
|
投稿日時: 2006-03-27 09:40
週末とネットが出来る環境におらず
お返事が遅れて申し訳ありません。 Jittaさん メインサーバのログインとはどのレベルでのログインなのでしょう? ユーザはどちらのSQLServerにも作成してあるのですが 同じID,PASSの方がいいでしょうか? 偽装に関してはこれから調べてみます minminnanaさん Mainサーバ上ではなく、別PCからの接続を行なった結果です MainサーバからSubに接続は試していません | ||||
|
投稿日時: 2006-03-27 10:35
MainサーバーのIIS(アプリ)からSubサーバーのSQLServerに接続できないんですよね。 であればまずはMainサーバーからSubサーバーへの接続を確認されたほうが 良いと思います。 (ちなみにSQLServerへアクセスする際の認証モードは何でしょうか) ご自身でも書かれているように、エラーメッセージからすると単純に サーバーが見つかっていないような・・・。 | ||||
|
投稿日時: 2006-03-27 11:07
minminnanaさん
認証モードは混在だったと記憶にあるのですが 改めて現地に行った時に接続の確認と認証モードを調べてきます UDLだとどちらも認証できるのに WEB経由だとダメだったってのが凄く不思議で IIS関係にそういうものが含まれてるのかと思っていた次第です | ||||
|
投稿日時: 2006-03-27 11:19
SQL Serverの認証がWindows認証になってませんかね。
もしくはASP.NETプログラムのほうの接続文字列がWindows認証を使うようになってるとか。 IIS6の場合、ASP.NETを実行しているユーザは、そのマシンのNT AUTHORITY\LocalServiceというユーザです。 上記の場合はMainマシンのNT AUTHORITY\LocalServiceというユーザがSQL Serverにつなぎにいこうとします。 SubマシンはMainマシンのNT AUTHORITY\LocalServiceユーザなんて知らないので、アクセスを拒否している、というのが一番ありそうなシナリオですね。。。 で、対処としては偽装を使うとか、、、Windows2003サーバだったらもうちょっと楽な設定があったはず。 「ASP.NETでいってみよう」という書籍がこのあたり詳しく書かれているのでおすすめです。 | ||||
|
投稿日時: 2006-03-27 14:13
どっとねっとふぁんさん
なるほどです、そいう経緯ならば 同じ構成で一方だけが繋がらないと理解できます。 認証の方を次回に再確認して 偽装の方向で行ってみようと思います |