![](/img/trans.png)
[英]What's the sql exception error number if the maximum limit of the database has been reached
[英]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.