IPアドレス経由でサーバーのSQLデータベースに接続できません


45

Windows Server 2008を実行するサーバーをセットアップし、SQL Server 2008 Expressをインストールしています。

を介してマシンのSQL Server Expressデータベースに接続できますMACHINENAME/SQLEXPRESS

ただし、IPアドレスを使用してソフトウェアまたはスクリプトを介して接続する場合、接続は許可されません。

私が試してみました:

  • ファイアウォールをオフにします。
  • SQLデータベースのリモート接続を許可します。
  • SQL構成内でTCP / IPを有効にします。

ソフトウェア「SQL Server Management Studio」を介して接続しようとすると、次のメッセージが表示されます。

エラーメッセージ:

サーバーへの接続を確立中にエラーが発生しました。SQL Server 2005に接続する場合、この失敗は、デフォルト設定ではSQL Serverがリモート接続を許可しないという事実が原因である可能性があります。(プロバイダー:TCPプロバイダー、エラー:0-ターゲットマシンがアクティブに拒否したため、接続できませんでした。)(Microsoft SQL Server、エラー:10061)

サーバーとの接続は正常に確立されましたが、ログインプロセス中にエラーが発生しました。(プロバイダー:TCPプロバイダー、エラー:0-確立された接続は、ホストコンピューターのソフトウェアによって中止されました。)(Microsoft SQL Server、エラー:10053)

いつ無料かを教えてください。どこでわかるのかを見てみましょう。UKFastから送られた情報に従って詳細を修正しましたが、「サポートの範囲内ではありません」と言っています。 、彼らはそれ以上助けることはできません。

あなたからの便りを楽しみにしています。


接続時にポート番号を追加しようとしましたか?

「192.168.0.1/SQLEXPRESS」(192.168.0.1は実際のサーバーの IPアドレス)に接続しようとしているか、インスタンス名を省略していますか?
ローランドショー14年

2
あなたは本当に/バックスラッシュではなくスラッシュを使用していますか?
アーロンバートランド

回答:


78

SQL Serverは名前付きインスタンスとしてインストールされるため、まず、次のサーバー名を使用してサーバーに接続してみてくださいIP Address\SQLEXPRESS
SQL Serverを名前付きインスタンスとしてインストールすると、デフォルトで動的TCP / IPポートが使用されるため、インスタンス名(IPアドレスのみ)を指定して接続することはできません。インスタンス名を使用せずにサーバーに接続する必要がある場合は、静的TCPポートを使用するようにサーバーを再構成する必要があります。それを行うには、次を実行してください。

  1. SQL Server構成マネージャーを開きます。
  2. に切り替えSQL Server Network Configuration | Protocols for SQLEXPRESSます。
  3. TCP/IPプロトコルをダブルクリックします。
  4. フィールドのYes値を選択しますEnabled
  5. IP Addressesタブに切り替えます。
  6. IPAllセクションを見つけます。
  7. TCP Dynamic Portsそのセクションのフィールドをクリアします。
  8. フィールドに1433値を指定しますTCP Port
    ここに画像の説明を入力してください
  9. サーバーの再起動
    IPアドレスのみを使用してサーバーに接続してみてください。

7
その情報を提供していただきありがとうございます、それは一つのことを除いてうまく動作します。SQL Management Studioでは、xxxx \ instance、1433など、サーバーに接続するためのポートを提供する必要があります。私は標準のポートを使用しているので、それはちょっと奇妙だと思います。
トマスヤンソン14年

1
@TomasJanssonが報告したものとまったく逆のことを除いて、それは私のために機能しました:ポート番号なしで Management Studioで機能しますが、デフォルトのポート(1433)を使用していても、接続文字列で1つ指定する必要があります。
lpacheco

上記の優れた回答に加えて、SQL Server 2017では、ユーザー(特にsa)のパスワードフィールドを空白のままにできないことを認識しました。パスワードが設定されていることを確認してください。そうでない場合、接続されません。
aLearner

netstat -a -bを使用してsqlservr.exeを見つけ、ポートが1433であることを確認してください。常にそうであるとは限りません。そうでなければ、あなたは夢中になります。
jwize

8

を有効にして、フォローを有効にしてすべてのサービスを再起動することで解決された問題をフォローしてください。

  • 共有メモリ
  • TCP / IP
  • 名前付きパイプ

SQL Server構成の名前付きパイプ


8

上記の回答に加えて、ポートを使用して接続しようとする場合、SQL Server Express 2017 を使用して、コロン構文ではなくコンマ構文を使用するようにしてください

 MyServerName,1433\InstanceName

上記と2、3時間すべての提案に従って取り組んだ後、まだ接続されていないので、代わりに上記を使用し、SQL Server Management Studioを介してリモートですぐに接続しました。成功への第一歩。


1
これは私のためにそれを修正しました(サーバー名とインスタンス名の間でポートを移動します)。最後にポートを入力しても機能しませんでした。
マソスパゲッティ

1

動的ポート番号を明示的に指定することでリモート接続できましたが、これは明らかに理想的ではありません。

問題は、SQL Server Browserサービスが無効になっていることでした。このサービスを有効にして開始すると、ホスト名とインスタンス名を指定するだけでリモート接続できました。


0

以前に言ったことに追加するだけです。サーバー(同じデスクトップ上のクライアントとサーバー)に接続できないという同じ問題があり、ここにリストされているすべての手順を実行して修正しました。しかし、私は最終的に問題が何であるかを見つけました。私がしなければならなかったのは、SQLサーバー管理スタジオに入り、「SQLサーバーサービス」をクリックしてから、接続する必要のあるサーバーをシングルクリックすることだけでした。次に、緑色の「実行」ボタンをクリックします。私のコンピューターが実行されていてサーバーにアクセスしているので、これが私に固有のものであるかどうかはわかりません。

実行/開始ボタンがある場所


1
このコメントはどのように過小評価されていますか?シンプルで修正された問題の盛り上がり
Cavid Hummatov
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.