我在 Windows 7 主機上安裝了 SQL Server 2005 Express Edition,並且希望能夠從 Windows XP 虛擬 PC 存取它。
這樣,我可以使用 XP 上的 Delphi 7 以及 Windows 7 上的 Visual Studio 專案進行開發,兩者都使用相同的資料。
編輯:此時我只在其中安裝了 Windows XP Virtual PC 和 Delphi 7。我無法 ping 主機,並且所有主機驅動器均使用以下命令安裝:
//tsclient/share/
所以我的問題是 -如何從 Windows XP Virtual PC 查看主機的 SQL 2005 Server?
答案1
前往“開始”->“控制台”->“管理工具”->“服務”,確保 SQL Server Browser 服務已啟動並設定為自動。
使用 SQL Surface 設定管理員 -> 服務和連線。展開資料庫引擎,按一下遠端連線並確保選擇本機和遠端連線並且選擇 TCP/IP(可使用命名管道和 tcp/ip)
現在,為了確保不是防火牆問題,請停用 Windows 7 主機上的防火牆,然後嘗試從虛擬 XP 電腦進行連線(也要停用此 VM 環境中的防火牆)。
更新:好的,您已經啟用了 SQL Browser 服務,啟用了 TCP/IP 套接字,並且可以透過 IP 位址\SQLEXPRESS 連線。抱歉讓您感覺很愚蠢,但您確實嘗試過 WIN7MACHINENAME\SQLEXPRESS 是嗎?您能否在 Win7 電腦上建立共用並嘗試透過 \\WIN7MACHINENAME\SHARENAME 從 xp 存取該共用並告訴我們錯誤。您可能還想更新您的熱門評論,以反映到目前為止您為使事情正常運轉所做的工作。您也可以嘗試不使用 RDP 會話但使用原始 VM 控制台嗎?
答案2
您必須確保允許 SQLSever 和 SQLBrowser 可執行檔通過 Windows 7 的 Windows 防火牆。
在你的 Win 7 機器上嘗試:
- 開始->運行->firewall.cpl
- 允許程式透過 Windows 防火牆
- 按一下「新增程式」按鈕,然後瀏覽
- 新增這兩個執行檔:(假設這些檔案路徑上有 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 瀏覽器設定為自動啟動。右鍵單擊,屬性,服務選項卡,啟動模式 - 設定為自動。這將確保 SQL 瀏覽器服務在重新啟動時啟動。
要在 Windows 7 電腦上允許 ping,您需要:
- Windows 防火牆、進階設定
- 入境規則
- 文件和印表機共用(回顯請求 - ICMPv4-In)
- 右鍵單擊,然後選擇啟用。
答案3
您也可以嘗試安裝“Virtual PC”的“XPMode”補充。這基本上為您提供了一個由微軟預先配置的 512MB 虛擬機器。該虛擬機將是一個很好的“參考”,說明您手工構建的虛擬機器應具有哪些功能。
此外,您可能想要為 SQL Server 啟用 tcp-ip 偵聽器,以便虛擬機器可以透過連接埠 1433 遠端存取 SQL Server。