• ベストアンサー

コマンドプロンプトから、リモートでログイン出来ない。

いつもお世話になっております。 端末が3台あります。OSは全てWinXP SP3です。 端末A には、SQL Server 2000 Personal がインストールされており 端末B と 端末C には、それぞれ SQL Server 2005 Express が インストールされております。 端末A(2000) は osql -S サーバ名 -U sa -P パスワード にて 端末B(2005) と 端末C(2005) は、 sqlcmd -S サーバ名 -U sa -P パスワード にてそれぞれ自分の SQL Server にログイン出来ます。 ここで、 端末Bは、端末A にも 端末C にも sqlcmd でログイン出来ますし 端末Cも、端末A にも 端末B にも sqlcmd でログインすることが出来ます。 ですが 端末A は、osql にて、端末B にも 端末C にも ログインすることが出来ません。 エラーメッセージは [DBNETLIB]接続が正しくありません。 [DBNETLIB]ConnectionOpen (Invalid Instance()). です。 ファイアーウォールかと思い、全端末のファイアーウォールを OFFにしても結果は同じでした。 どうすれば、端末A は 端末B や 端末C の SQL Server 2005 Express に ログインすることが出来ますでしょうか? ご教示よろしくお願い致します。 ※もしかして、osql からは SQL Server 2005 Express に   ログイン出来ないのでしょうか? 追伸: himajin10000 さま、先日は質問のご回答ありがとうございました。 MSN相談箱の操作がよく分からず、先日はお礼ポイントを付けずに 締め切ってしまいました。大変申し訳ございませんでした。 この場をお借りしてお詫び申し上げます。

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

  • ベストアンサー
noname#158371
noname#158371
回答No.2

SQL Server 2005 Express の場合、TCP/IP 接続が、既定の設定だと有効になっていないので、それを有効にしてあげる必要があります。 その対応はやっていらっしゃいますか? http://www.atmarkit.co.jp/fdotnet/dotnettips/545sqlsvrnet/sqlsvrnet.html をみながら、SQL Server 2005 ExpressのTCP/IP接続を有効にしてみてください。 宜しくお願いします。

参考URL:
SQL Server 2005 Express
che_zoh
質問者

補足

kero-mio さま ご回答ありがとうございます。 ポートを1433に固定してみても、SQL Server Browser を起動してみても 結果は同じでした。 もちろん、サービスと接続のセキュリティ構成のリモート接続で ローカル接続およびリモート接続を、TCP/IPのみを使用する にしても 接続出来ませんでした。 ですが、相変わらず SQL Server 2005 Express のインストールされている 端末B は、端末A および 端末C に 端末C は、端末A および 端末B に 接続することが出来ます。 端末Aのみが、自PC以外のPCに、コマンドプロンプトにて 接続することが出来ません。 それと今、判明しました。 端末A の VB2005 Pro からは、ちゃんと各SQL Server にログイン することが出来ました。 ですが、端末A のコマンドプロンプト および SQL Server 2000 の Enterprise Manager からは自分以外にログインすることが出来ません。 もう何がなんだかわからなくなってきました。 ご教示よろしくお願いいたします。

その他の回答 (4)

noname#158371
noname#158371
回答No.5

あ、それから、MDACのバージョンが古いとダメみたいなので、最新のMDACを入手し、インストールしてみてください。(端末A,B,Cとも) まずはそこからですね。 最新のMDACは、現在2.8が入手できます。宜しくお願いします。 MDACバージョン確認方法 http://support.microsoft.com/kb/301202/ja MDAC入手先 http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c

参考URL:
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=6c050fe3-c795-4b7d-b037-185d0506396c
che_zoh
質問者

お礼

お世話になります。 いつの間にか接続出来るようになっていました。 設定を変えた覚えもないのに。 ある日突然です。 ご教示ありがとうございました<(_)>

che_zoh
質問者

補足

レジストリを確認したところ Full Install Var は 2.81.1132.0 でした。 もしかして、VisualStudio2005 を 一回アンインストールし 再インストールしたことが原因でしょうか? 以前はこんなにも苦労せず、何も設定を変えずに OSQL から 接続出来ておりました。 VisualStudio2005 をアンインストールしてから 久しく経ちますが、またVisualStudio2005を再インストールし OSQL にて接続しようとしたところ、これが原因なのか、 いつも間にかOSQLにて接続出来なくなってしまっていたのです。 また、参考になるかわかりませんが、VisualStudio2005の 再インストールも、初めはエラーが出て再インストール 出来なかったのです。 こちらは↓にて解決させていただきました。 http://questionbox.jp.msn.com/qa4252414.html?StatusCheck=ON これが原因でしょうか?

noname#158371
noname#158371
回答No.4

詳細教えて頂きありがとうございます。 さらに補足が欲しいのですが、 ・SQL Server 2005 Express がインストールされている端末B、Cは それぞれSQL Server認証で、Windows認証は使っていないですよね? (お話を聞く限り) ・また、端末Aから端末B、Cに接続する際、NetBIOS名やコンピュータ名ではなく、端末B,CのそれぞれのIPアドレスを指定して接続してますか?(EnterpriseManagerから。「名前付きパイプ」で接続していないですよね?) もしかすると http://support.microsoft.com/default.aspx?scid=kb;ja-jp;265808 あたりの対応すればうまく接続できるかもしれません。 試してみて頂けますか?宜しくお願いします。

参考URL:
http://support.microsoft.com/default.aspx?scid=kb;ja-jp;265808
che_zoh
質問者

補足

> kero-mioさま 回答が遅くなり申し訳ございません。 はい、SQL Server は、どれも SQL Server認証 です。 > ・また、端末Aから端末B、Cに接続する際、NetBIOS名や > コンピュータ名ではなく、端末B,CのそれぞれのIPアドレスを > 指定して接続してますか? > (EnterpriseManagerから。「名前付きパイプ」で接続していないですよね?) すいません。 初心者なもので↑の状況がよく理解出来ません。 EnterpriseManager の SQL Server 新規登録ウィザード にて SQL Server の選択 に出てくる「使用できるサーバー」に表示されている サーバー名を選択してあります。 う~ん、ご紹介いただいた方法でもダメでした。 私のやり方が悪いんだと思います。すみません。

noname#158371
noname#158371
回答No.3

>端末A の VB2005 Pro からは、ちゃんと各SQL Server にログイン することが出来ました。 これについては、SQL Server 2005 Express の、TCP/IP 接続を有効にしたことによって接続できるようになったと思われます。 (まったく端末B、CのSQL Server 2005 Express に端末Aから接続ができなかったはずですので、先ほどよりかは前進したかと思いますよ) さて、 >ですが、端末A のコマンドプロンプト および SQL Server 2000 の Enterprise Manager からは自分以外にログインすることが出来ません。 ここでいう「自分以外」の「自分」とは、端末A自身のことで宜しいですか? また、その時に表示されるログインエラーのメッセージがもしわかれば、教えて下さい。調べてみますので・・・ 宜しくお願いします。

che_zoh
質問者

補足

kero-mio さま ありがとうございます。 またお忙しい中、お手間をとらせまして申し訳ございません。 はい、おっしゃられるとおり「自分」とは 端末A のことです。 表現が曖昧になってしまい申し訳ございません。 端末A から コマンドプロンプト にてログインを試みた場合のエラーは 前回と同じく [DBNETLIB]接続が正しくありません。 [DBNETLIB]ConnectionOpen (Invalid Instance()). です。 また、端末A の SQL Server 2000 の Enterprise Manager から 次のような流れでウィザードを使用し、接続を試みた場合、 1.右クリックにて SQL Server の新規登録 → 登録ウィザード 2.SQL Server の選択 では、端末B の SQL Server が表示される。 3.SQL Server 認証を選択 4.自動ログインを選び、sa および 端末Bサーバーのパスワード を入力する。 5.既存のグループに追加 を選択 6.完了 を押す。 登録メッセージのダイアログにて 接続が正しくありません。ConnectionOpen (Invalid Instance()). と、エラーが出て、Enterprise Manager に端末Bのサーバーが 登録されません。 よろしくお願いいたします。

  • LegaC2
  • ベストアンサー率52% (224/428)
回答No.1

osql -S サーバ名\SQLEXPRESS -U sa -P パスワード で、入れませんか? 当方、SQL Server 2005 Expressをもっていませんので、見当違いでしたらすいません。

che_zoh
質問者

お礼

お世話になります。 いつの間にか接続出来るようになっていました。 設定を変えた覚えもないのに。 ある日突然です。 ご教示ありがとうございました<(_)>

che_zoh
質問者

補足

ご回答ありがとうございます。 早速やってみたところ、 [DBNETLIB]SQL Server が存在しないか、アクセスが拒否されました。 [DBNETLIB]ConnectionOpen (Connect()). とエラーが出てログインすることが出来ませんでした。

関連するQ&A