Windows 7 ホスト マシンに SQL Server 2005 Express Edition がインストールされており、Windows XP Virtual PC からそれにアクセスできるようにしたいと考えています。
この方法により、同じデータを使用する Windows 7 上の Visual Studio プロジェクトと並行して、XP 上の Delphi 7 を使用して開発を行うことができます。
編集: この時点では、Windows XP Virtual PC とその中に Delphi 7 のみをインストールしています。ホスト マシンに ping を実行できず、すべてのホスト ドライブは次のようにマウントされています。
//tsclient/share/
私の質問は -Windows XP 仮想 PC からホスト マシンの SQL 2005 Server を表示するにはどうすればよいでしょうか?
答え1
[スタート] -> [コントロール パネル] -> [管理ツール] -> [サービス] に移動し、SQL Server Browser サービスが開始され、自動に設定されていることを確認します。
SQL Surface 構成マネージャー -> サービスと接続を使用します。データベース エンジンを展開し、リモート接続をクリックして、ローカルとリモートの接続が選択され、TCP/IP が選択されていることを確認します (名前付きパイプと TCP/IP を使用できます)。
ファイアウォールの問題ではないことを確認するには、Windows 7 ホストのファイアウォールを無効にして、仮想 XP マシンから接続してみます (この VM 環境内のファイアウォールも無効にします)。
更新: わかりました。SQL ブラウザ サービスと TCP/IP ソケットを有効にして、IP アドレス\SQLEXPRESS で接続できます。お気の毒に思われたかもしれませんが、WIN7MACHINENAME\SQLEXPRESS は試しましたか? Win7 マシンで共有を作成し、\\WIN7MACHINENAME\SHARENAME 経由で XP からその共有にアクセスして、エラーを教えてください。また、この時点までに動作させるために行ったことを反映するように、トップ コメントを更新することもできます。RDP セッションを使用せずに、生の VM コンソールを使用して試すこともできますか?
答え2
SQLSever および SQLBrowser 実行可能ファイルが Windows 7 の Windows ファイアウォールを通過できるようにする必要があります。
Win 7 マシンでこれを試してください:
- スタート->実行->firewall.cpl
- Windowsファイアウォールを通過させるプログラムを許可する
- 「プログラムの追加」ボタンをクリックし、参照します
- 次の 2 つの実行可能ファイルを追加します (これらのファイル パスに SQL Server Express があることを前提としていますが、そうでない場合は、SqlServer.exe と SqlBrowser.exe のパスは Services.msc で簡単に見つけることができます)。
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\SqlServer.exe C:\Program Files\Microsoft SQL Server\90\Shared\SqlBrowser.exe
SQL Server 構成マネージャー ユーティリティを起動します。
- ネットワーク構成としてTCP/IPが有効になっていることを確認します。
- SQL Server Browser が自動起動に設定されていることを確認します。右クリックして、プロパティ、サービス タブ、開始モードを「自動」に設定します。これにより、再起動時に SQL Browser サービスが起動されるようになります。
Windows 7 マシンで ping を許可するには、次の手順を実行する必要があります。
- Windows ファイアウォール、詳細設定
- インバウンドルール
- ファイルとプリンターの共有 (エコー要求 – ICMPv4 受信)
- 右クリックして、「有効にする」を選択します。
答え3
また、「Virtual PC」の「XPMode」サプリメントをインストールすることもできます。これにより、基本的に、Microsoft によって事前に作成された、構成済みの 512 MB の仮想マシンが提供されます。この VM は、手動で構築された VM にどのような機能が必要かを判断するための優れた「リファレンス」になります。
また、VM がポート 1433 を介して SQL Server にリモートでアクセスできるように、SQL Server の TCP/IP リスナーを有効にすることもできます。SQL は、新規インストール時にデフォルトでリスナーを無効にします。