Dot-Net

什麼是“目前命令發生嚴重錯誤。結果(如果有)應丟棄。”SQL Azure 錯誤是什麼意思?

  • January 22, 2016

偶爾我的程式碼會遇到

System.Data.SqlClient.SqlException
The service has encountered an error processing your request. Please try again.
Error code 40540. A severe error occurred on the current command.
The results, if any, should be discarded.
Class 20
Number 40197

這種情況很少發生,通常在一兩分鐘內消失,我無法可靠地重現它。有時Error code可以是 以外的數字40540

我用Google搜尋了一下,看起來它通常是由 SQL Server 中的錯誤觸發的,並且是可重現的。

我有兩個選擇 - 重試查詢或將其視為致命並努力破解。我希望更好地了解問題實際上是什麼,以及我是否可以安全地重試查詢。

發生此錯誤時是否重試查詢?

一個快速的Google搜尋給了我這個。

服務在處理您的請求時遇到錯誤。請再試一次。錯誤程式碼 %d。當服務因軟體或硬體升級、硬體故障或任何其他故障轉移問題而關閉時,您將收到此錯誤。重新連接到您的 SQL 數據庫伺服器將自動將您連接到數據庫的健康副本。您可能會看到錯誤程式碼 40143 和 40166 嵌入在錯誤 40540 的消息中。錯誤程式碼 40143 和 40166 提供有關發生的故障轉移類型的其他資訊。不要修改您的應用程序以擷取錯誤程式碼 40143 和 40166。您的應用程序應擷取 40540 並嘗試重新連接到 SQL 數據庫,直到資源可用並再次建立連接。

您可以訪問此處了解更多資訊。它說您的應用程序應該擷取 40540 並嘗試重新連接到 SQL 數據庫,直到資源可用並再次建立連接。

儘管就個人而言,我建議不要使用 Sql azure,因為它很容易節流,並且您無法控制分配給您的資源。我所做的是在 azure vm 上安裝 sql server 並在我的應用程序中使用它。

希望這對您有所幫助。

引用自:https://stackoverflow.com/questions/14808612