- PR -

SQLServerが存在しないか、アクセスが拒否されましたエラーについて

投稿者投稿内容
TAM
会議室デビュー日: 2001/09/10
投稿数: 15
投稿日時: 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 ]
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 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
minminnana
大ベテラン
会議室デビュー日: 2004/02/05
投稿数: 246
お住まい・勤務地: 盛岡
投稿日時: 2006-03-25 19:51
引用:
○UDLファイルを作成し、
 2つのサーバに対して接続テストしたがどちらも接続出来た。


これはMainサーバー上にUDLファイルを作り、そこからSubサーバーに接続
できたという事でよいのでしょうか。
TAM
会議室デビュー日: 2001/09/10
投稿数: 15
投稿日時: 2006-03-27 09:40
週末とネットが出来る環境におらず
お返事が遅れて申し訳ありません。

Jittaさん
メインサーバのログインとはどのレベルでのログインなのでしょう?
ユーザはどちらのSQLServerにも作成してあるのですが
同じID,PASSの方がいいでしょうか?
偽装に関してはこれから調べてみます

minminnanaさん
Mainサーバ上ではなく、別PCからの接続を行なった結果です
MainサーバからSubに接続は試していません
minminnana
大ベテラン
会議室デビュー日: 2004/02/05
投稿数: 246
お住まい・勤務地: 盛岡
投稿日時: 2006-03-27 10:35
引用:
上記からユーザーの認証で失敗しているのではなく
サーバに接続出来ていないのかと思っているのですが


MainサーバーのIIS(アプリ)からSubサーバーのSQLServerに接続できないんですよね。
であればまずはMainサーバーからSubサーバーへの接続を確認されたほうが
良いと思います。
(ちなみにSQLServerへアクセスする際の認証モードは何でしょうか)
ご自身でも書かれているように、エラーメッセージからすると単純に
サーバーが見つかっていないような・・・。
TAM
会議室デビュー日: 2001/09/10
投稿数: 15
投稿日時: 2006-03-27 11:07
minminnanaさん
認証モードは混在だったと記憶にあるのですが
改めて現地に行った時に接続の確認と認証モードを調べてきます

UDLだとどちらも認証できるのに
WEB経由だとダメだったってのが凄く不思議で
IIS関係にそういうものが含まれてるのかと思っていた次第です
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 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でいってみよう」という書籍がこのあたり詳しく書かれているのでおすすめです。

TAM
会議室デビュー日: 2001/09/10
投稿数: 15
投稿日時: 2006-03-27 14:13
どっとねっとふぁんさん
なるほどです、そいう経緯ならば
同じ構成で一方だけが繋がらないと理解できます。
認証の方を次回に再確認して
偽装の方向で行ってみようと思います

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