none
MSDEにリモートから接続できない。 RRS feed

  • 質問

  • SQL Server2000とMSDEを使用しています。

    規定のインスタンスにSQL Server2000を使用し、

    名前付けインスタンスでMSDEを使用しています。

    使用していませんがSQL Server2005Express Editionもインストールされています。

     

    自分の端末からは接続できます。

    svrnetcn.exeを実行してTCP/IP、名前付きパイプが有効であることは確認しました。

    ファイアウォールを無効にしても接続できませんでした。

    (もし原因であったとしてもポートを空けるなどして対応しようと思っています。)

     

    ほかにはどういう原因が考えられるでしょうか?

    もしよろしければ、アドバイスを頂けませんか?

    よろしくお願いいたします。

    2008年4月25日 11:58

回答

  •  simpleplan_xxxさんこんばんは。

     Windows認証を使っているなら、サーバ側にクライアント側のユーザでアクセスできる状況かどうか。

     WindowsXPなら「ローカルセキュリティポリシー、ネットワークアクセス:ローカルアカウントとセキュリティモデル」が「クラッシック」になっているかどうかなどです。

     

    訂正:

     統合化ログイン→Windows認証 

     古い用語を使ってしまった。

    2008年4月25日 13:52
  • まず確認することとして、ネットワーク的につながっていますか?(pingが飛びますか?) pingが通ればosqlで接続できますか?

    接続できない場合はどのようなエラーメッセージが出ていますか?

    また、Windows認証でしょうか、SQL Server認証でしょうか?

    もう少し詳しい情報をいただければと思います。

    2008年4月25日 14:46
  • 以下の辺りが参考になるんじゃないでしょうか?

     

    MSDEにリモートからアクセスしたい
    http://pc.k-solution.info/server/RemoteAccessToMsde.aspx

     

    MSDEにリモート接続
    http://isobe.exblog.jp/11934

    2008年4月28日 5:23
  • とりあえず、以下をチェックしてみて下さい。

     

    エラー メッセージ "SQL Server が存在しないか、アクセスが拒否されました" の原因
    http://support.microsoft.com/kb/328306/ja


    規定のインスタンスなので、

     

    osql -U ユーザー名 -P パスワード -S サーバー名

     

    だけで接続できるはずですが、これでもつながらないのでしょうか?

    2008年4月28日 8:57
  • データベース サーバーの Windows Firewall を無効にしてから接続できるかテストしてみてください。

    これで接続できるなら、Firewall でブロックされているために接続できていません。

    UDP 1434 番ポートと、MSDE の sqlservr.exe へのアクセスを許可するよう Windows Firewall を設定すれば接続できるようになるでしょう。

    2008年4月28日 14:14
  •  simpleplan_xxx さんからの引用

    規定のインスタンスはSQL Serverでこちらには接続できます。

    名前付けインスタンスのMSDEに接続できないでいるのです。

    説明が悪くて申し訳ございません。


    私の読み違いでした。ごめんなさい。

     

     simpleplan_xxx さんからの引用

    osql -U ユーザー名 -P パスワード -S サーバー名¥インスタンス名

    で接続できますよね?(¥は小文字)


    OKです。

     simpleplan_xxx さんからの引用

    ローカルで接続を確認していますので、問題ないとおもっております。

    MSDEは正常に動作しているわけですね。

     

     simpleplan_xxx さんからの引用

    私の端末と同じ形式(規定のインスタンスはSQL Serverで名前付けインスタンスにはMSDE)という端末は

    たくさんありまして、クライアントから他のMSDEへは接続ができておりますので、

    クライアントは問題ないのではないかと考えております。


    ご自分の端末にMSDEをインストールされていて、他の端末からご自分の端末にあるMSDEに接続できないということなんですね?そうであれば思い違いしておりました。

     

     simpleplan_xxx さんからの引用

    それから今思い出したのですが、現在のMSDEに入れているデータは

    MSDEからSQL Server2000に入れて、そのバックアップをMSDEに入れたデータでした。

    これは原因となりうるでしょうか?


    MSDE自体が見えていないというエラーメッセージからするとなりません。

     

    ところでM_Lewisさんも書かれていますが、netstat -an を実行した際に、MSDEが使用するポート(標準で1433/TCP, 1434/UDP) がListeningになっているかどうか確かめてみて下さい。


     

    あっ、こんなのもありますね。

     

    FIX: MSDE 接続は、マルチホーム コンピュータに失敗することがあります。
    http://support.microsoft.com/kb/298822/

    2008年4月28日 17:04
  •  simpleplan_xxx さんからの引用

    ご紹介頂いたページですが、毎回Windows Updateをしていれば

    特に問題ないですよね?


    Windows Updateでもカスタムの方でなければあたらないと思います。もしかしたらWindows Updateでも提供されていないかもしれません。

     

    ただ、この現象はNICが2枚以上差っている場合ですので、そうでなければ関係ありません。(たぶん1枚しか差ってないですよね・・・)

     

    ところで以下によると、SQL Server 2000とMSDEは共存できないようです

     

    [SQL]INF: MSDE と SQL Server は同一コンピュータ内で共存できない
    http://support.microsoft.com/kb/414860/ja

     

    また、以下の稍丼さんの情報によると、

     

    -- 引用開始 -----------------------------------------
    「SQL Server Express は,
    MSDE や SQL Server 2000 のSP3より前のバージョンがインストールされている
    同じコンピュータにインストールされると,衝突が起きるかもしれません。」
    -- 引用終了 -----------------------------------------

     

    とありますので、構成的に無理があるんじゃないかという気がしてきました。

     

    SQL Server 2000 に戻りたい
    http://www.microsoft.com/japan/msdn/community/gdn/ShowPost-36594.htm

    2008年4月29日 16:02

すべての返信

  •  simpleplan_xxxさんこんばんは。

     Windows認証を使っているなら、サーバ側にクライアント側のユーザでアクセスできる状況かどうか。

     WindowsXPなら「ローカルセキュリティポリシー、ネットワークアクセス:ローカルアカウントとセキュリティモデル」が「クラッシック」になっているかどうかなどです。

     

    訂正:

     統合化ログイン→Windows認証 

     古い用語を使ってしまった。

    2008年4月25日 13:52
  • まず確認することとして、ネットワーク的につながっていますか?(pingが飛びますか?) pingが通ればosqlで接続できますか?

    接続できない場合はどのようなエラーメッセージが出ていますか?

    また、Windows認証でしょうか、SQL Server認証でしょうか?

    もう少し詳しい情報をいただければと思います。

    2008年4月25日 14:46
  •  

    三輪の牛さん、trapemiyaさん、ご返信ありがとうございます。

     

    pingは試していますので可能です。

    SQL Server認証をしています。

     

    osqlの結果とエラーメッセージについては明後日に答えさせて頂きます。

    私が質問させて頂くタイミングが悪かったのですが、

    今は確認できない状態ですので。。

    せっかく答えて下さっているのに、申し訳ございません。

     

    三輪の牛さん

    WinXpを使用しています。

    「ローカルアカウントとセキュリティモデル」はGuestのみになっていました。

    これが原因の可能性があるのですね。

    「クラシック」に変更しましたので、明後日確認致します。

     

     

    確認後にまた質問させて頂くかもしれません。

    そのときは、またよろしくお願い致します。

     

    2008年4月26日 16:07
  • 確認致しましたが、接続できませんでした。

    エラーメッセージは以下の通りです。

     

    サーバーに接続できません≪サーバー名≫

     

    サーバー:メッセージ17、レベル16、状態1

    [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Serverが存在しないか、アクセスが拒否されました。

     

    上記のエラーが出てしまい、接続できませんでした。

    ローカルからの接続はできていますので、ユーザー名とパスワードは間違っておりません。

     

    何か考えられる原因を教えて頂きたいです。

    ぜひよろしくお願い致します。

    2008年4月28日 3:23
  • 以下の辺りが参考になるんじゃないでしょうか?

     

    MSDEにリモートからアクセスしたい
    http://pc.k-solution.info/server/RemoteAccessToMsde.aspx

     

    MSDEにリモート接続
    http://isobe.exblog.jp/11934

    2008年4月28日 5:23
  • ありがとうございます。

    上記のサイトを参考に設定致しましたが、

    やはり接続できなかったです。

     

    インストール時に「DISABLENETWORKPROTCOLS=0」は設定しました。

    サーバーは「TCP/IP、NWLink IPX/SPX、名前付きパイプ」をすべて有効にしています。

    クライアントは「TCP/IP、マルチプロトコル、名前付きパイプ」をすべて有効にしました。

     

    osqlでの接続時のエラーも下に載せます。

    [DBNETLIB]SQL Server が存在しないか、アクセスが拒否されました。
    [DBNETLIB]ConnectionOpen (Connect()).

     

    たくさんアドバイスを頂きとても感謝しています。

    大変申し訳ございませんが、他にも原因と思われるものがございましたら、

    教えて頂けますと嬉しいです。

    よろしくお願いいたします。

     

    2008年4月28日 6:59
  • とりあえず、以下をチェックしてみて下さい。

     

    エラー メッセージ "SQL Server が存在しないか、アクセスが拒否されました" の原因
    http://support.microsoft.com/kb/328306/ja


    規定のインスタンスなので、

     

    osql -U ユーザー名 -P パスワード -S サーバー名

     

    だけで接続できるはずですが、これでもつながらないのでしょうか?

    2008年4月28日 8:57
  • ご返信ありがとうございます。

     

    規定のインスタンスはSQL Serverでこちらには接続できます。

    名前付けインスタンスのMSDEに接続できないでいるのです。

    説明が悪くて申し訳ございません。

     

    osql -U ユーザー名 -P パスワード -S サーバー名¥インスタンス名

    で接続できますよね?(¥は小文字)

    ローカルで接続を確認していますので、問題ないとおもっております。

    この形式で先ほどのエラーが表示されました。

     

    私の端末と同じ形式(規定のインスタンスはSQL Serverで名前付けインスタンスにはMSDE)という端末は

    たくさんありまして、クライアントから他のMSDEへは接続ができておりますので、

    クライアントは問題ないのではないかと考えております。

     

    MSDEをインストールした際に使用したSetup.iniの内容を下に載せます。

     

    INSTANCENAME=ABC
    SECURITYMODE=SQL
    SAPWD="sa"
    DISABLENETWORKPROTOCOLS=0
    ※インスタンス名は「ABC」に置き換えさせて頂きました。

     

    紹介して頂いたURLの内容は私には難しかったのですが、

    目は通させていただきました。

    ありがとうございます。

     

    それから今思い出したのですが、現在のMSDEに入れているデータは

    MSDEからSQL Server2000に入れて、そのバックアップをMSDEに入れたデータでした。

    これは原因となりうるでしょうか?

     

    もしこれが原因であれば対策を考えたいと思います。

    ぜひよろしくお願いいたします。

    2008年4月28日 11:41
  • データベース サーバーの Windows Firewall を無効にしてから接続できるかテストしてみてください。

    これで接続できるなら、Firewall でブロックされているために接続できていません。

    UDP 1434 番ポートと、MSDE の sqlservr.exe へのアクセスを許可するよう Windows Firewall を設定すれば接続できるようになるでしょう。

    2008年4月28日 14:14
  •  simpleplan_xxx さんからの引用

    規定のインスタンスはSQL Serverでこちらには接続できます。

    名前付けインスタンスのMSDEに接続できないでいるのです。

    説明が悪くて申し訳ございません。


    私の読み違いでした。ごめんなさい。

     

     simpleplan_xxx さんからの引用

    osql -U ユーザー名 -P パスワード -S サーバー名¥インスタンス名

    で接続できますよね?(¥は小文字)


    OKです。

     simpleplan_xxx さんからの引用

    ローカルで接続を確認していますので、問題ないとおもっております。

    MSDEは正常に動作しているわけですね。

     

     simpleplan_xxx さんからの引用

    私の端末と同じ形式(規定のインスタンスはSQL Serverで名前付けインスタンスにはMSDE)という端末は

    たくさんありまして、クライアントから他のMSDEへは接続ができておりますので、

    クライアントは問題ないのではないかと考えております。


    ご自分の端末にMSDEをインストールされていて、他の端末からご自分の端末にあるMSDEに接続できないということなんですね?そうであれば思い違いしておりました。

     

     simpleplan_xxx さんからの引用

    それから今思い出したのですが、現在のMSDEに入れているデータは

    MSDEからSQL Server2000に入れて、そのバックアップをMSDEに入れたデータでした。

    これは原因となりうるでしょうか?


    MSDE自体が見えていないというエラーメッセージからするとなりません。

     

    ところでM_Lewisさんも書かれていますが、netstat -an を実行した際に、MSDEが使用するポート(標準で1433/TCP, 1434/UDP) がListeningになっているかどうか確かめてみて下さい。


     

    あっ、こんなのもありますね。

     

    FIX: MSDE 接続は、マルチホーム コンピュータに失敗することがあります。
    http://support.microsoft.com/kb/298822/

    2008年4月28日 17:04
  •  

     trapemiya さんからの引用

    ご自分の端末にMSDEをインストールされていて、他の端末からご自分の端末にあるMSDEに接続できないということなんですね?そうであれば思い違いしておりました。

    はい。そういうことです。

    全然気にされないで下さい。

     

    M_Lewisさん、trapemiyaさん

    ファイアウォールの件ありがとうございます。

    ポートは私も解放しておりまして、この点は問題ございません。

    1433/TCP, 1434/UDPは解放済みです。

    ファイアウォールを無効にしてみましたが、やはりだめでした。

     

    ご紹介頂いたページですが、毎回Windows Updateをしていれば

    特に問題ないですよね?

     

    なかなか解決できないので、一度別インスタンスで作成しなおしてみたいと思います。

    変わった設定をしたつもりはないのですが、

    何か原因がわかればと思いました。

     

    また何かございましたら、よろしくお願いいたします。

    何度もありがとうございます。

    2008年4月29日 4:59
  •  simpleplan_xxx さんからの引用

    ご紹介頂いたページですが、毎回Windows Updateをしていれば

    特に問題ないですよね?


    Windows Updateでもカスタムの方でなければあたらないと思います。もしかしたらWindows Updateでも提供されていないかもしれません。

     

    ただ、この現象はNICが2枚以上差っている場合ですので、そうでなければ関係ありません。(たぶん1枚しか差ってないですよね・・・)

     

    ところで以下によると、SQL Server 2000とMSDEは共存できないようです

     

    [SQL]INF: MSDE と SQL Server は同一コンピュータ内で共存できない
    http://support.microsoft.com/kb/414860/ja

     

    また、以下の稍丼さんの情報によると、

     

    -- 引用開始 -----------------------------------------
    「SQL Server Express は,
    MSDE や SQL Server 2000 のSP3より前のバージョンがインストールされている
    同じコンピュータにインストールされると,衝突が起きるかもしれません。」
    -- 引用終了 -----------------------------------------

     

    とありますので、構成的に無理があるんじゃないかという気がしてきました。

     

    SQL Server 2000 に戻りたい
    http://www.microsoft.com/japan/msdn/community/gdn/ShowPost-36594.htm

    2008年4月29日 16:02
  • いろいろありがとうございました。


    私はもう一台端末を使用していまして、
    そちらの端末ではSQL Server2000もMSDEを正常に動作しておりました。
    今回もそれと同じようにインストールしたつもりだったのですが、
    うまくいきませんでした。

     

    構成は全く不可能ということではないと思うのですが、
    あまり良い構成とは言えないようですので、
    構成を検討してみることにします。
    SQL Server2000で別インスタンスを作成するなど。

     

    現状、問題は解決しておりませんが、
    たくさんのアドバイスを頂き、大変感謝しております。
    とても勉強になりました。

    ありがとうございました。

     

    また何かございましたら、よろしくお願いいたします。

     

    2008年5月1日 7:48