我想託管客戶機上的ASP.NET 2.0應用程序連接到SQL服務器,安裝在域控制器上運行Windows Server 2003的2000實例(我上感謝這不是最佳實踐,但它是我不能改變的)。我正在使用SQL Server身份驗證,而不是Windows身份驗證。連接到SQL Server 2000的一個Windows Server 2003域控制器
在調試過程中,會顯示在「連接」嘗試在Web應用程序(而不是在運行SQL Server內的任何物體)內的點以下錯誤:
「在建立連接時出錯當連接到SQL Server 2005時,這種失敗可能是由於在默認設置下SQL Server不允許遠程連接(提供者:命名管道提供程序,錯誤:40 - 無法打開與SQL Server的連接)「
我已經做了一些研究,並檢查了各種東西:
1)我確定連接字符串是正確的 - 事實上,我建立了一個小的Windows應用程序,使用相同的連接信息和連接成功...
2)這僅限於Web應用程序 - 一個Windows應用程序在遠程客戶端機器上運行使用相同的連接字符串連接就好(請參閱1)。
3)在兩臺計算機不會阻止連接上的防火牆設置(參見圖1)。
4)我可以ping的Windows 2003服務器(參見圖1)
5)的SQL Server憑證肯定是要的對象的權限需要
6)如果我(暫時)向Web應用程序在Windows Server 2003上運行它,它會加載並運行正常(在單獨的計算機上使用瀏覽器,或者在我嘗試連接的客戶端計算機上) - 建議這只是遠程連接的問題,並確認連接再次在機器之間,並確認SQL Server用戶的必要安全權限。
7)我就可以開始在客戶機上的查詢分析器,並使用相同的SQL服務器憑據,可以運行在目標數據庫就好上查詢相同。
難倒。請幫忙!
是否啓用SQL中的遠程連接?進入企業管理器,然後在左窗格中展開,直到看到有問題的服務器實例。 右鍵單擊,然後進入屬性 - >安全 - > SqlServer和Windows應該被選中 – RogueSpear00
是的 - 這是啓用的,並且在連接下,遠程連接已經啓用。雖然檢查,我注意到,SQL Server不是Active Directory的一部分。我想知道是否有人知道這可能是一個問題。此外,客戶端機器未登錄到域 - 但我不認爲這將是一個問題,因爲從同一客戶端機器上的Windows應用程序獲得的其他連接。 – Marco
您的遠程計算機與服務器在同一子網上嗎?你說你可以ping通它 - 但ping不一定能夠澄清流量。 – RogueSpear00