• ベストアンサー
  • すぐに回答を!

SQL Serverへの接続について教えてください。

  • 質問No.2748656
  • 閲覧数1099
  • ありがとう数1
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 64% (87/134)

いつも初歩的な質問ばかりで済みません。
VB.NET2003+Access2000で開発していたアプリをSQL SERVER 2005 に移そうと作業しています。

まずMSDE2000Aをインストールし、同じマシンにあるMDBからコンバートしたMDFファイルにはアクセス
出来ました。
SQL server 2005 Express に変更しましたが、これもうまく接続・更新が出来ていました。

そして今度は別のマシンにWindows SERVER 2003 R2評価版をインストール、次いで SQL SERVER 2005 Express
をインストールしてそのサーバーへデータベースファイルをデタッチして移しました。
クライアントからマイネットワークをたどっていくと共通ディレクトリはちゃんと見え、
MDF以外のファイル(XLSやMDB等)はちゃんと読み書きが出来ます。
ただ肝心のMDFファイルにアクセス出来ません。

接続しにいくと「サーバーが見つからない」とか「接続が拒否されました」等々無情なメッセージばかり返ってきます。

どこをチェックしたらいいのか、ご教示に従って補足していきますのでどうぞよろしくお願いいたします。

質問者が選んだベストアンサー

  • 回答No.4
  • ベストアンサー

ベストアンサー率 44% (296/668)

返事遅れてもうしわけありません。(チェック漏れでした)

正直な話、業務ではほとんどSQL認証で運用しているんで、
Windows認証は詳しくないんですよ。
でも、おそらく、認証の問題だと思います。
なぜドメイン参加が拒否されているかわからないのですが、
とりあえずXPHomeだったらOSの制限で参加できないですしね…。

SQL認証にするかドメインに参加させるか、
サーバーをドメインからはずすか…かなと思います。

ただ、現在クライアントでログインしているユーザー名/パスワードで、
そのサーバーの「ローカルユーザー」を登録、
SQLサーバー上で、DBにアクセスできる権限を付与する
(エンタープライズマネージャーで設定可能)
と、うまくいくかも…
(明示的に「ローカルユーザー」として認識させる)
お礼コメント
danchor

お礼率 64% (87/134)

おはようございます。

なぜドメインに参加できないかは不明のままなのですが、先週打合せがあって、もうすぐ本チャンのサーバーが入るのですが、アクティブディレクトリは使用しない構成で行くようなので、テストの方もサーバーをドメインからはずしてやってみます。

そしてローカルユーザーを登録するところからやり直して見ます。
いろいろとご教示いただき、ありがとうございました。
投稿日時:2007/02/26 08:42

その他の回答 (全3件)

  • 回答No.3

ベストアンサー率 44% (296/668)

*(一時的にでも)混合認証に変更してSQL認証(saなど)で接続できるか。
 →これで通るなら認証の問題(1)だし、そうじゃなかったらSQLサーバーのパケットがとめられているかも(2)。
(1)の場合、
*そのクライアントはドメインに参加しているのか。
*そのクライアントのサーバー上での権限(Windowsの権限/Administratorsを持っていないならSQLサーバー上で権限を付与しているか)

(2)の場合
*パーソナルファイヤーウォールのせっていは?
*サーバー上でOSQL -S(サーバーのIPアドレス)
 でつながるか?
*TCP/IP以外のプロトコルが有効になっていないか。
補足コメント
danchor

お礼率 64% (87/134)

khazad-leftyさん ありがとうございます。

*そのクライアントはドメインに参加しているのか。

もっと早くに申し上げれば良かったのかも知れませんが、サーバーはドメイン設定していますが、問題のクライアントはそのドメインに参加しようとしてもサーバーから拒否されています。
このが問題の根本かもしれないと思っています。

サーバー上でsqlcmd -Sでたたいてみると
 TCP/IPであるはずなのに名前つきパイプが・・・・
 サーバーがリモート接続を許可していない・・・・
という二つのエラーが出てきます。
ちゃんと設定されているはずなのですが・・・。
投稿日時:2007/02/20 11:12
  • 回答No.2

ベストアンサー率 44% (296/668)

根本的な話なのですが、データベースにアクセスするというのは、
MDFにアクセスするということではありません。
MDFにアクセスしているのは、あくまでもSQLサーバーの「サービス」で、
クライアントはサーバー上で動いているデータベースサービスにアクセスしています(という言い方も厳密に言うと違う気がしますが…。)。
なので、Windows上でMDFが見えている、見えていないは関係ないです。
勘違いしてないにしても、この言い方は誤解を招きやすいと思うので「データベースにアクセスできない」のほうがいいかと思います。

とりあえず、
*認証方法は?混合認証?それとも?
*クライアントからosqlで接続できるか。
*逆にサーバー上でosqlを使ってクライアントに接続できるか
*サーバーで使われているプロトコルは?(参考リンク参照)
補足コメント
danchor

お礼率 64% (87/134)

重ねての回答ありがとうございます。

認証方法はWINDOWS認証です。

クライアントにも開発テスト用の同じDBがあり、osql-E でつなぎに行くとクライアントにあるサーバーしかつながりません。
サーバーを指定しても データベースのsysdatabasesのエントリに位置づけられていません
と返ってきます。

サーバー上からも同じです。
プロトコルはTCP/IPです。

引き続きよろしくお願いします。
投稿日時:2007/02/16 14:05
  • 回答No.1

ベストアンサー率 44% (296/668)

*アタッチはうまくいったのか。
*うまくいってないとしたら、どのコンピュータからアタッチをかけようとしているのか。

読んでいると、クライアントにあるSQLサーバーにサーバーのMDFファイルをアタッチしているように見えます。
そうであれば、作業をサーバー上で行ってください。

クライアントからでもエンタープライズマネージャーでそのサーバーを登録すればまったく同様に作業はできるのですが多分混乱すると思うんで。
補足コメント
danchor

お礼率 64% (87/134)

khazad-lefty様 おはようございます。

なかなかRESがつかなかったのでほぼ諦め・手詰まり状態だったので助かります。

>どのコンピュータからアタッチをかけようとしているのか。
もちろんサーバーからそのサーバーにコピーしたファイルをアタッチしています。
クライアントにもSQLサーバーをおいていますが、それは使わずに.NETからサーバーにおいてあるファイルを接続しに行っています。
でも・・・・・。

引き続きよろしくお願いいたします。
投稿日時:2007/02/15 08:40
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ