System.Data.SqlClient.SqlException: 在向伺服器發送請求時發生傳輸級錯誤。
(provider: 命名管道提供程式, error: 0 - 管道的另一端上無任何進程。)
MSSQLSERVER 或具名實例是否為「執行中」。// 1. 確認連接字串格式(TCP/IP 範例)
string connStr = "Server=localhost;Database=MyDB;User Id=sa;Password=123;";
// 2. 啟用 TCP/IP 協定(SQL Server Configuration Manager)
// 3. 測試連線:使用 SSMS 或 `sqlcmd -S localhost -U sa -P 123`
// 4. 檢查錯誤日誌:C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Log\ERRORLOG
using (var conn = new SqlConnection(connStr)) {
try {
conn.Open();
// 執行命令...
} catch (SqlException ex) {
// 記錄 ex.Number、ex.Message,區分暫時性錯誤(如 -2, 53, 233)與永久性錯誤
throw;
}
}
優先使用 TCP/IP 連接,避免 Named Pipes 在跨機器或高並發下的不穩定。生產環境請啟用連接池與重試機制(Polly 或 Enterprise Library)。