[英]error: 40 - Could not open a connection to SQL Server
嘗試登錄asp.net應用程序時出現以下錯誤。
建立與SQL Server的連接時發生與網絡相關或特定於實例的錯誤。 服務器未找到或無法訪問。 驗證實例名稱正確,並且已將SQL Server配置為允許遠程連接。 (提供者:命名管道提供程序,錯誤:40-無法打開與SQL Server的連接)
在我的web.config
文件中,連接字符串就像
<add name="DefaultConnection"
connectionString="Server=1.1.1.1; Database=XYZ; Uid=user; Pwd=pswd;"
providerName="System.Data.SqlClient" />
Web和數據庫服務器是分開的。 同一Web服務器上還有其他網站指向同一數據庫服務器上的不同數據庫,工作正常。
當我雙擊SQL Server 2008 R2中的用戶名(安全性->用戶->用戶)時,出現以下錯誤:
我已經檢查了SQL Server服務,並且它們運行良好。 只是想知道在SQL Server中是否與此用戶有關。
此錯誤與用戶無關。 檢查並確保通過SQL Server配置管理器實用程序在SQL Server上啟用了遠程連接,並且防火牆上的端口1433已打開。 您可以使用TELNET或下面的Powershell命令測試端口連接。
1433 | % { echo ((new-object Net.Sockets.TcpClient).Connect("YourServerName",$_)) "server listening on TCP port $_" }
命名管道協議 (請參見錯誤)僅用於同一台計算機上的連接,這(可能)意味着(可能)在SQL Server上未啟用用於外部通信的tcp / ip協議 。
錯誤的另一個可能原因是sql服務器的命名實例 。 在連接字符串上,將服務器的IP地址放在沒有實例名稱的位置(最好使用計算機名稱,並將IP放在DNS或hosts文件中),這意味着sql server沒有命名實例是正確的? 有關檢查命名實例的信息,請參見服務。
其他可能的問題可能是:
我遇到了同樣的問題,由於某種原因,我不得不添加標准的SQL端口(1433),然后一切正常。 您的情況是:
<add name="DefaultConnection"
connectionString="Server=1.1.1.1,1433; Database=XYZ; Uid=user; Pwd=pswd;"
providerName="System.Data.SqlClient" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.