簡體   English   中英

數據庫的請求限制為30且已達到:此錯誤的請求計數的狀態是多少?

[英]The request limit for the database is 30 and has been reached: which statuses of request count for this error?

嘗試在Function App中調用SQL查詢時出現此錯誤。 我的計划是獲取當前活動請求的數量以避免上面的限制請求錯誤。 我看到SQL請求具有以下狀態:休眠,運行,后台,回滾,掛起,可運行,spinloop,暫停。

你們知道限制錯誤計數的狀態嗎?

您可以運行以下查詢:

-- Run on master
SELECT * FROM sys.resource_stats ORDER BY end_time DESC;  

要么

SELECT * FROM sys.dm_db_resource_stats ORDER BY end_time DESC; 

您可以檢查這些查詢的max_session_percent和max_worker_percent值。

我的建議是在您的查詢中添加OPTION(MAXDOP 1)或在數據庫級別設置最大並行度。

ALTER DATABASE SCOPED CONFIGURATION SET MAXDOP = 1;

“數據庫的請求限制為30,已達到”

與上述錯誤相關的請求計數最有可能的狀態,或者您應該查看的狀態,將“正在運行” - 當前正在處理的任務。 所有工作人員都忙着,直到他們的任務完成並且無法接收待處理任務,因此將不會接受將創建新待處理任務的傳入請求。

“最大會話數和工作數由服務層和計算大小(DTU和eDTU)決定。當達到會話或工作人員限制時,新請求將被拒絕,並且客戶端會收到錯誤消息。”

該錯誤並不意味着您必須增加最大值。 功能應用可能會撥打太多電話。 或者可能存在性能不佳的查詢,這些查詢會占用資源,從而導致完成時間過長。

如果要增加最大值,對於Azure SQL數據庫,Basic的下一層將是Standard / S0,其中包含60個並發工作程序(請求)。 您可以在此處查看所有層級及其限制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM