Windows Web Server 2008 R2を使用して仮想開発マシンをセットアップし、SQL Server 2008 R2 Expressもインストールしました。ホストマシンにSQLツールがあるため、SQLツールをインストールしませんでした。
仮想マシンはVMWareWorkstation8で実行されています。
VMには2つのNICがあります
SQLブラウザを実行しておらず、machine\instance、port nameを使用して直接接続しています。このようにして、SQLが検出されなくても接続できます。
ファイアウォールでSQLEngineのネットワークポートを開きました。
ブリッジIPアドレスを使用してSQLにアクセスできますが、ホストオンリーIPアドレスは使用できません。 SQL Expressのプロトコルを確認し、TCP/IPを有効にして、5つのIPを表示する[IPアドレス]タブを確認しました。
これはどういうわけか、ホストオンリーネットワークを使用してSQLにアクセスできない理由を説明しています。これらの設定を変更し、ブリッジIPをホストオンリー1に変更しても、SQLにアクセスできません。
ホストオンリーネットワークがSQLに表示されていないように見えます。それは働いていますが。
もう1つの事実は、ホストからVM)にpingを実行すると、ブリッジネットワークでは応答が返されますが、ホストのみのネットワークでは応答がないことです。
これは、VMのホストのみのネットワーク設定に何らかの形で関連しているに違いないと思います。またはそうでないかもしれません。したがって、この質問。質問はもちろんですSQLサーバーをVMにセットアップして、ホストマシンとローカルホストからアクセスできるようにするにはどうすればよいですか(Webアプリケーションがで実行されているため)同じマシン)?しかし、ブリッジネットワーク経由でSQLサーバーにアクセスしたくないので、他の誰もアクセスできません。
わかりました。仮想ネットワークを構成し、SQL Serverを構成することで、この問題を解決することができました。
ホストのみの構成は自動に設定されていましたが、VMWareを使用すると、このネットワークにはゲートウェイが適用されていないため、DNSと同じデフォルトゲートウェイを追加しました(私の場合は192.168.100.254でした)。
これにより、Windowsネットワークはネットワークをパブリックではなくプライベートとして認識することができました。これは、特定のセキュリティレベルが異なる方法で適用されることを意味します。
これで、いずれかの方法でマシンにpingを実行できます(ホストからVMゲストへ、またはその逆))。両方のpingには、ネットワークがパブリックとしてラベル付けされているため、以前は応答しなかった応答があります。
SQL Expressインスタンスのプロトコルを構成し、TCP/IP設定を構成し、最初のタブ(プロトコル)ですべてを聞くをいいえに設定しました=これは、2番目のtba(IPアドレス)で個々のIPを構成する必要があることを意味します有効両方のローカルホストIP(v4とv6)であり、仮想ホストを反映するようにv4IPアドレスも変更しました-ネットワークのIPアドレスのみ:
次に、これら3つのIPアドレスTCP動的ポートをすべてクリアし、静的1つTCPポートを設定します。 -)から14使用したい。
今度はホストに戻り、最初にブリッジIPアドレスを使用してSSMSを自分のVMに接続しようとしました。失敗しました。次に、2回目の試行として、ホスト専用IPアドレスを使用しました。 SQL Serverインスタンスに接続します。成功。
これにより、SQLServerインスタンスがローカルマシンと開発ホストに完全にロックダウンされました。