Sql-Server

通過 ASP 頁面在 SQL Server 上查詢超時過期錯誤

  • August 14, 2017

我收到錯誤

$$ Microsoft $$$$ Sql Server Native Client 11.0 $$

查詢超時已過期

通過 ASP 頁在 SQL Server 上。大多數情況下它工作正常,但有時我會收到此錯誤。誰能告訴我這是 SQL Server 問題還是 ASP.NET 問題?

我在 SSMS 中執行了相同的查詢,它在幾秒鐘內完成。ASP 頁可以查詢任何東西。我正在使用sa使用者進行身份驗證,所以我認為它具有完全權限。

這兩者都可能存在問題,具體取決於您如何看待它。您得到的是“查詢超時”而不是“連接超時”。

您有 2 個選項。

  • 增加查詢超時設置。大多數情況下預設為 30 秒。請參閱 ODBCSqlCommand的此連結。
  • 設置擴展事件跟踪(如果您不習慣,請使用適當的過濾器進行伺服器端跟踪)並找到超時的查詢。努力改善執行時間,直到它低於“查詢超時”設置。有時我能夠在沒有跟踪的情況下擷取查詢,只需使用sp_whoisactive。我在看總執行時間。

您還沒有提到您使用的是哪個版本的 SQL Server。如果您是 2008 R2 或更高版本,我會查看 system_health 擴展事件。

系統健康擴展事件將顯示已等待長達 30 秒的查詢。因此,根據您已經設置的超時,您可以在不設置另一個擴展事件/伺服器端跟踪的情況下獲取它。

僅供參考 - 如果您使用的是 2008R2,這是一篇很好的文章,因為 GUI 不存在。

https://www.mssqltips.com/sqlservertip/3636/query-data-from-extended-events-in-sql-server/

引用自:https://dba.stackexchange.com/questions/171181