• ベストアンサー

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

いつもお世話になっております。 端末が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

  • デフォルトインストール状態のSQL SERVER2005のアカウントとパスワード

    基本的にデフォルトの状態でインストールしたSQL SERVER 2005があるのですが、ログインしようとしましたが方法がわかりません。 SQL SERVER 2000では、Enterprise ManagerというツールでWindwos認証やSQL Server認証でログインできるツールがあったのですが、2005では スタートメニューから探しても見当たりませんでした。 osql -U -Pでも試したのですが、SAというアカウントでパスワードはデフォルトで何が入っていたのでしょうか? SQL SERVERを体系的に学びたいのですが、何か良書はありますか?

  • SQL SERVER 2005 でデータベース名を変更

    初心者です。よろしくお願いします。失敗してしまい非常に困ってます。 SQL SERVER 2005です。 SQL SERVER認証でローカルサーバーに接続しています。 そのローカルサーバーにAという名前のデータベースがあったのですが 間違えて名前をBに変えてしまいました。 そしたらSQL SERVERに接続出来なくなりました。 Aという名前で接続してたときと同じログイン名とパスワードを使用したら localhostに接続出来ません。 ユーダーの既定のデータベースを開けません。 ログインに失敗しました。 ユーザー"(ユーザー名です)" はログイン出来ませんでした。 microsoft SQL server エラー4064 というエラーが出ました。 どうにかして元のAというデータベース名に戻したいです。 http://support.microsoft.com/kb/307864/ja を参考にコマンドプロンプトで下記の作業を行いました。   SQL Server ログインで SQL Server 認証を使用してインスタンスに接続している場合は、コマンド プロンプトで次の行を入力し、Enter キーを押します。 sqlcmd -S InstanceName -d master -U SQLLogin -P Password 注 : InstanceName には、接続先の SQL Server 2005 インスタンスの名前が入ります。SQLLogin には、既定のデータベースが削除されている SQL Server ログイン名が入ります。Password には、SQL Server ログインのパスワードが入ります。 3. sqlcmd プロンプトで次の行を入力し、Enter キーを押します。 ALTER LOGIN SQLLogin WITH DEFAULT_DATABASE = AvailDBName 注 : AvailDBName には、SQL Server ログインでアクセスできる、そのインスタンス内の既存のデータベースの名前が入ります。 4. sqlcmd プロンプトで GO と入力し、Enter キーを押します。 これを実行してもBというデータベースに接続(?)は出来ましたが 名前をもとに戻すことが出来ません。 いくら調べても分からないので(調べ方が悪いのかも知れませんが・・) どなたか教えていただけないでしょうか。よろしくお願いします。

  • OSQLの起動について

    SQLの絵本という本にそってSQLを勉強しようと思いこの本の通りにまずMSDE2000(Microsoft SQL Server 2000 Desktop Engine)をインストールして開始したんですが、コマンドプロンとでOSQLの起動をしようとしたところ、 C:\Documents and Settings\Owner>C:\MSDERelA\setup.exe SECURITYMODE=SQL SAPWD="eh on" C:\Documents and Settings\Owner>cd c:\ C:\>osql -U sa -P ehon 'osql' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 となってしまうのですが、どうしたらいいのでしょう? アドバイスお願い致します。

  • teratermで多段ログインのコマンド

    質問者は質問内容をどう表現していいのかよくわかっていません。 社内のサーバAとBがあり、外部のwebサーバCがあるとします。teratermを用いてCのDBへファイルをアップロードしたり、BのCVSからファイルの更新を行いたいと思っています。しかし、それをAへログインして行うような感じなのです。どのようにしてAからCへアクセスして、またCVSがBにあることをCに教えて、ファイルの更新をしたらよいのでしょうか。 コマンドを覚えればいいのか、なんらかの環境変数の設定など、他にもやることがあるのか、さっぱりわかりません。 ローカルのPCはwindows2000でサーバはlinuxです。Aへのログインはできていて、Cのアカウントも作ってもらっているはずですが、どうやってアクセスしていいかわからないので確認できていません。 だれか助けてください。よろしくお願いします。

  • ログインユーザ(sa)について

    Windows7 環境で SQL Server 2008 Express を インストールしたのですが、saでログインできませんでした。 インストール時の認証モードには「混合モード」を選択しました。 自分なりに調べた結果、 『windows認証でログイン後、[オブジェクトエクスプローラ]の [セキュリティ]-[ログイン]より「sa」アカウントを選択して[プロパティ]を開き、 「sa」のログインを「有効にする」』 とあったので試したところ、「エラー:15151」が発生し、変更できませんでした。 関係ないかもしれませんが、 「BUILTIN\Users」に「sysadmin」ロールを付与しようとしても、 「エラー:15247」でできませんでした。 どうすれば『「sa」のログインを「有効にする」』ことができるのでしょうか。 どなたか、ご教示宜しくお願いいたします。

  • PCにリモートからログインできません

    少々特殊な環境かと思うのですがあるユーザーがリモートでログインできません。 【環境】 PC A OS:2003Server ドメイン管理 PC B OS:2000Server PC C OS:WinXP PC D OS:Win2000 ドメインログインしているPC CのユーザーはPC Bの共有ディレクトリにアクセスできるのですが、同様にドメインログインしているPC DのユーザーはPC Bの共有ディレクトリにアクセスできません。 パスワード入力を求める画面が出るのですがユーザーID、パスワードを入力してもログインできません。 ちなみにPC BにはPC Cのユーザー、PC DのユーザーともにログインIDとパスワードを設定しています。 説明が分かりづらくて申し訳ありませんが原因の調査方法や解決案は無いでしょうか?

  • SqlServer2008について

    WinServer2008にインストールされたSQLServer2008にクライアントから、sqlcmdコマンドでログインするとリモート接続が許可されてないのかログインできません。 別のWin2000ServerのSQL2005にはログインできます。 SQL2005には、セキュリティ構成というツールで、リモート接続を許可することができます。 SQL2008には、これに該当するツールが見当たりません。 ManagementStudioでSQL2008に接続して、データベースのプロパティの 「接続」を見ると、リモート接続を有効にするチェックは入ってますが、これは、SQL2005にもあり、sqlcmdで接続しようとすることと 関係ないように思いました。 sqlcmdでクライアントからSQL2008に接続するために、リモート接続するには、どうしたらよいのでしょうか? win2008サーバー上で、sqlcmdコマンドを使えば接続できます。

  • SQL SERVER へのリモート接続

    Windows8.1 Pro上のSQL SERVER 2012 Expressに接続しようと思っています。 Windows8.1のファイアーウォールをOFFにするとクライアント側から接続できます。 ONにすると「アプリにWindowsファイアーウォール経由の通信を許可する」のところで C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS1\MSSQL\Binn\sqlsvr.exeを登録してもだめ。 「ローカルコンピュータのセキュリティーが強化されたWindowsファイアーウォール」の「受信の規則」のところで 1433を登録してもだめ。 という状態なのですが、ほかに何か設定が抜けていますでしょうか? OFFにするとつながるということなので、SQL SERVER自体の設定は合っていると思うのですが。 よろしくお願いいたします。

  • SQL Server 2005 Express インストール後、VBS

    SQL Server 2005 Express インストール後、VBS中のsqlcmdが実行されない ExpressエディションではSQL Agentが無いため、JOB(ストアドでの集計処理)をWINDOWSタスクから実行しようとしています。 タスクスケジュールSYSTEM権限でVBSファイルを実行するように登録しているのですが、 タスク自体の実行は正常に完了し、VBSでの処理でもエラーはでていないのですが、VBS中のsqlcmdが実行されておりません。(プロファイラで確認してもストアドが実行されている形跡なし) VBSを直接実行(アドミニ権限USER)するとVBS中のsqlcmdが実行されます。 SQL Server 2005 Expressをインストール後、端末の再起動を実行をするとタスクからの実行でVBS中のsqlcmdが実行されるようになるのですが。。 何か再起動なしでタスクからの実行がうまくいく方法は無いでしょうか? ご教授宜しくお願い致します。 環境Widows 2003 Server SP1

  • SQLServerでエラーメッセージが出ます

    Microsoft SQL Server 2005 を使ってデータベースを作成したいのですが、下記のようなエラーメッセージが表示されてしまいます。 エラーメッセージにある「SQL Server がリモート接続を許可していないことが原因である可能性があります。」は、リモート接続を許可にしましたが同じエラーメッセージが出てしまいます。 なにか解決につながるような策はないでしょうか・・・。 どうかアドバイスよろしくお願いいたします。 ******************************************************************* Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\Owner>osql -U sa -P sa -S SHIKADA\TAGSTATION [SQL Native Client]SQL ネットワーク インターフェイス : 指定された Server/Instanc e の位置を特定しているときにエラーが発生しました [xFFFFFFFF]. [SQL Native Client]ログイン タイムアウトが時間切れになりました [SQL Native Client]サーバーへの接続確立時にエラーが発生しました。接続先が SQL Se rver 2005 である場合は、既定の設定では SQL Server がリモート接続を許可していないことが原因である可能性があります。 *******************************************************************