web-dev-qa-db-ja.com

VMWareマシンからホストSQLServerにアクセスする

SQL Server2008とSQLExpress2012を搭載したWindows7を使用しています。また、2台のvmwareマシンにwinxpをインストールしました。 Management Studioを使用して、VMマシンからホストマシンのSQLサーバーに接続するように最善を尽くしていますが、うまくいきません。ホストマシンにpingを実行したり、その逆を行ったりしても問題が発生しました。ファイアウォールをオフにすると、ホストマシンにpingを実行できました。ホストマシンへのアクセスを許可するためにVMマシンのIPを追加しようとしましたが、それでも機能しませんでした。

ここからカスタムルールを追加しました http://www.rackspace.com/knowledge_center/article/creating-an-inbound-custom-allow-rule-for-windows-firewall-windows-2008

私はオフにしたホットスポットシールドを実行していましたが、それでも運がありません。 SQLサーバーでリモート接続を許可しました。しかし、まだ機能していません。誰かがここで助けることができますか?.

これは私が得るエラーです。

enter image description here

これがVMマシンの設定です。 enter image description here

ファイアウォールがオンの場合、pingを実行できませんが、オフの場合はpingを実行できます。

よろしく

パーマインダー

9
Parminder

TCPプロトコルをリッスンするようにSQLServerを構成する必要があります。これを行うには、[スタート]、[すべてのプログラム]、[Microsoft SQL Server 2012]、[構成ツール]の順にクリックし、SQLServer構成マネージャーを開きます。

  1. SQL Server構成マネージャーで、コンソールペインの[SQLServerネットワーク構成]を展開します。
  2. インスタンス名として[プロトコル]をクリックします。 (デフォルトのインスタンスはMSSQLSERVERのプロトコルです)。
  3. 詳細ペインで[TCP]を右クリックすると、ギャラリー画像に対してデフォルトで[有効]になっているはずです。カスタムイメージの場合は、[有効にする]をクリックします(ステータスが[無効]の場合)。
  4. TCP/IPを右クリックし、[プロパティ]を選択します。
  5. IP2で、IPアドレスがローカルサブネット上のコンピューターのIPアドレスに設定されていることを確認します。
  6. TCP動的ポートが空白であることを確認してください。
  7. TCPポートが1433に設定されていることを確認してください。
  8. 詳細ウィンドウで、[SQL Server(インスタンス名)](デフォルトのインスタンスはSQL Server(MSSQLSERVER))を右クリックし、[再起動]をクリックして、SQLServerのインスタンスを停止して再起動します。

次に、データベースエンジンのデフォルトインスタンスのWindowsファイアウォールでTCPポートを開く必要があります。これを行うには、[スタート]、[すべてのプログラム]、[管理ツール]の順にクリックし、セキュリティが強化されたWindowsファイアウォールを開きます。 。

  1. セキュリティが強化されたWindowsファイアウォールの左側のウィンドウで、[受信のルール]を右クリックし、操作ウィンドウの[新しいルール]をクリックします。
  2. [ルールの種類]ダイアログボックスで、[ポート]を選択し、[次へ]をクリックします
  3. [プロトコルとポート]ダイアログボックスで、[TCP]を選択します。 [特定のローカルポート]を選択し、データベースエンジンのインスタンスのポート番号(デフォルトのインスタンスの場合は1433)を入力します。 [次へ]をクリックします。
  4. [アクション]ダイアログボックスで、[接続を許可する]を選択し、[次へ]をクリックします。
  5. [プロファイル]ダイアログボックスで、[ドメイン]、[プライベート]、[パブリック]の順に選択し、[次へ]をクリックします。
  6. [名前]ページで、インバウンドルールの名前をSQLServerPortに設定し、[完了]をクリックします。 [セキュリティが強化されたWindowsファイアウォール]ウィンドウを閉じます。

この助けを願っています。宜しくお願いします

16
octavioccl

これは、ネットワークエラー26に関してMSDNブログから直接来ています。 詳細はこちら

1)サーバー名が正しいことを確認します。たとえば、名前にタイプミスがないことを確認します。
2)インスタンス名が正しく、ターゲットマシンにそのようなインスタンスが実際に存在することを確認してください。 [更新:一部のアプリケーションは\\を\に変換しますアプリケーションについてよくわからない場合は、接続文字列でServer\InstanceとServer \\ Instanceの両方を試してください]
3)サーバーマシンが到達可能であることを確認します。たとえば、DNSを正しく解決でき、サーバーにpingを実行できます(常にtrueであるとは限りません)。
4)サーバーでSQLブラウザサービスが実行されていることを確認します。
5)サーバーでファイアウォールが有効になっている場合は、sqlbrowser.exeまたはUDPポート1434、あるいはその両方を例外にする必要があります。

それでも失敗する場合は、PortQryを実行することをお勧めします。

PortQryは ここ アプリケーションの詳細 ここ からダウンロードできます。「portqry.exe-n yourservername -pUDP-e1434」を実行してください。このコマンドが情報を返し、ターゲットインスタンスが含まれている場合は、上記の4)および5)の可能性を除外できます。つまり、SQLブラウザーが実行されており、ファイアウォールがSQLブラウザーのUDPパケットをブロックしません。この場合、他の問題を確認できます。間違った接続文字列。

6
user275683