none
ワークグループ環境にあるSQLserverにリモート接続 RRS feed

  • 質問

  • ワークグループ環境にあるPC(WindowsXP professional sp3)をサーバーにしています。Visual web developer 2010Expressを利用してデータベースとWebページを作成しました。

    データベースはSQL Server 2008 Expressで、既定のインスタンスを選択しています。認証はWindows認証です。ユーザーデータベースのファイル(Program Files\Inetpub内にあり)のプロパティ→セキュリティでANONYMOUS LOGONとAuthenticated Usersを追加し、フルコントロールを与えています。

    Server management studioでセキュリティのログインにNT AUTHORITY\ANONYMOUS LOGONとNT AUTHORITY\Authenticated Usersを追加し、ユーザーデータベースのセキュリティのユーザーにANONYMOUS LOGONとAuthenticated Usersを追加しました。

    ファイアーウォールは接続を調べる際にいったん無効にしています。

    とりあえずネット上の情報や現在所持しているSQLServerの本、VB2010の本に書いてあることをやれるだけやってみたかたちです。

    その結果、同じワークグループ内にあるPCからは、正常に接続ができ、データベースにもアクセスできました。全く問題のない状況です。

    しかし、リモートPCからアクセスしてみようとしても、「Internet Explorerではこのページは表示できません」となり、接続の問題を診断してみると、「(コンピュータ名)が見つかりません。アクセスしようとしているコンピュータまたはデバイスが近くにある場合、電源がオンになっており、ネットワークに接続されていることを確認してください。」となりました。ワークグループ内ではうまくいくので、ネットワークに接続されていないということはないと思うのですが、リモート接続ができない状況です。

    何か他に行わなければならない設定などがあるのでしょうか?ご教示いただければありがたいです。

    2013年2月8日 3:34

回答

  • なので、クライアント側は不特定(?)というかたちになるのでしょうか…?そのようなものをつくることはできませんか?

    質問タイトルとずいぶんと乖離した内容に見受けられます。少なくともSQL Serverとの関連がわかりません。もう一度聞きます。

    質問者さんの考える「リモート接続」する、クライアント側のプログラムはどんなものでそれは誰が作るのですか? また「リモート接続」される、サーバー側のプログラムはどんなものでそれは誰が作るのですか?

    接続されるサーバー側のプログラムは質問タイトルを読む限りSQL Serverのようですが、今説明された内容ではウェブページを保有するWebサーバーのようです…がこれはあくまで私の推測でしかありません。
    クライアント側も「不特定」ではなく「Webブラウザー」ですか? それすら答えられなかったようでは道はかなり険しいかと…。

    一応説明しておくと、WebブラウザーはWebサーバーにのみ接続します。SQL Serverに直接接続することはあり得ません。そしてWebサーバー上で動作するプログラムが必要であればSQL Serverに接続します。小規模なシステムであれば、Webサーバー内にSQL Serverをインストールしてしまうため、SQL Serverについてリモート接続できるよう構成する必要は全くありません。

    • 回答としてマーク firstlilac 2013年2月9日 8:02
    2013年2月8日 5:34

すべての返信

  • 接続元のクライアントプログラムは何で、接続先のサーバープログラムは何でしょうか?

    「Internet Explorerではこのページは表示できません」というエラーメッセージがSQL Serverに関係するとは思えないのですが。

    2013年2月8日 3:49
  • 佐祐理さん

    すみません、独学で初心者なので変な質問をしてしまったかもしれません。つくりたいものがあって色々調べているのですが、いまいち何を勉強すれば目的のものをつくれるようになるのかも分からず…

    とりあえず最終的にやりたいことは、何人かの他者のパソコンから私が作成したウェブページにアクセスしてもらい、そこで短い計算テストを受けてもらえるようにしたい、というものです。テストに対する回答を自動的に保存しておいて私のパソコンで確認できるようにしたいと思っています。

    なので、クライアント側は不特定(?)というかたちになるのでしょうか…?そのようなものをつくることはできませんか?

    どのような分野を勉強すればこのようなことができるようになるのかということだけでも教えていただけるとありがたいです。

    よろしくお願いします。

    2013年2月8日 4:29
  • なので、クライアント側は不特定(?)というかたちになるのでしょうか…?そのようなものをつくることはできませんか?

    質問タイトルとずいぶんと乖離した内容に見受けられます。少なくともSQL Serverとの関連がわかりません。もう一度聞きます。

    質問者さんの考える「リモート接続」する、クライアント側のプログラムはどんなものでそれは誰が作るのですか? また「リモート接続」される、サーバー側のプログラムはどんなものでそれは誰が作るのですか?

    接続されるサーバー側のプログラムは質問タイトルを読む限りSQL Serverのようですが、今説明された内容ではウェブページを保有するWebサーバーのようです…がこれはあくまで私の推測でしかありません。
    クライアント側も「不特定」ではなく「Webブラウザー」ですか? それすら答えられなかったようでは道はかなり険しいかと…。

    一応説明しておくと、WebブラウザーはWebサーバーにのみ接続します。SQL Serverに直接接続することはあり得ません。そしてWebサーバー上で動作するプログラムが必要であればSQL Serverに接続します。小規模なシステムであれば、Webサーバー内にSQL Serverをインストールしてしまうため、SQL Serverについてリモート接続できるよう構成する必要は全くありません。

    • 回答としてマーク firstlilac 2013年2月9日 8:02
    2013年2月8日 5:34
  • 佐祐理さん

    返信感謝します。とても助かっています。自分の中でやっていることが整理できてきました。

    サーバーはWebサーバーで、クライアントはWebブラウザです。

    WebサーバーはIIS5.1です。規模としては小規模なものです。

    IISとSQL ServerとのやりとりをASP.NETで行っています。

    ① Webサーバー側のプログラムとしては、クライアントから要求されたWebページを送信します。Webページは二つあり、一つ目はログオンページで、二つ目は計算テストのページです。クライアントから送られてくるユーザーIDとパスワードをデータベースに保存してあるものと照会し、合うようであれば計算テストのページを送ります。また、計算テストに対するクライアントから送られてくる回答をデータベースに挿入します。計算テストが終わると、再びログオンページを送ります。

    ② クライアント側のプログラムとしては、ログオンページでは、テキストボックスにユーザーIDとパスワードを記入し、ログオンボタンを押します。するとそのデータがサーバーに送られます。また、計算テストのページでは30分以内に20問の計算を解き、それぞれの回答をテキストボックス内に記入してもらいます。ボタンをクリックすると、回答のデータがサーバーに送られ、ログオンページに戻ります。また、ボタンを押す前に30分が経過してしまっても、自動的にログオンページに戻ります。

    このようなプログラムについて、WORKGROUP内にある他のパソコンからは、Webページを閲覧でき、その中のプログラムも走らせることができ、データの更新と取得もできます。

    しかし、WORKGROUP外にあるWebブラウザからはWebページを閲覧できなかったために、リモート接続というのが必要なのかと考えてしまいました。

    しかし、リモート接続というのは全然別のものなのですね。すると、Webページを閲覧できないのは何故なのでしょうか?…



    2013年2月8日 6:31
  • しかし、WORKGROUP外にあるWebブラウザからはWebページを閲覧できなかった

    書かれた通りです、WebブラウザーがWebページを閲覧できなかった、すなわち、WebブラウザーがIISに接続できなかったわけです。やはりSQL Serverは無関係です。

    IISにエラーのログがあればそれが原因でしょう。なければWebブラウザーがIISに接続できていないということです。
    問題を整理し新たに質問し直すことをお勧めします。

    # そもそもASP.NETがどこで動作するプログラムなのかを理解できていない気がします。

    2013年2月9日 9:44