本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 RDS for SQL Server 上設定資源長的最佳實務
為了控制資源消耗,RDS for SQL Server 支援 Microsoft SQL Server 資源長。下列最佳實務可協助您避免常見的組態問題,並最佳化資料庫效能。
-
資源長組態會存放在
master資料庫中。建議您一律分別儲存資源總長組態指令碼的副本。 -
分類器函數會延長登入處理時間,因此建議避免分類器中的複雜邏輯。過於複雜的函數可能會導致登入延遲或連線逾時,包括 Amazon RDS 自動化工作階段。這可能會影響 Amazon RDS 自動化監控執行個體運作狀態的能力。因此,在生產環境實作 之前,一律建議在生產前環境中測試分類器函數。
-
避免在工作負載群組
REQUEST_MAX_MEMORY_GRANT_PERCENT中為 設定高值 (超過 70),因為這可能會阻止資料庫執行個體為其他並行查詢配置足夠的記憶體,進而可能導致記憶體授予逾時錯誤 (錯誤 8645)。相反地,將此值設定為太低 (小於 1) 或設為 0 可能會阻止需要記憶體工作區的查詢 (例如涉及排序或雜湊操作的查詢) 在使用者定義的工作負載群組中正確執行。RDS 會在預設工作負載群組上將值限制在 1 到 70 之間,以強制執行這些限制。 -
對於將 tempdb 繫結至資源集區,在將記憶體最佳化的 tempdb 中繼資料繫結至集區之後,集區可能會達到其最大設定,而使用 的任何查詢
tempdb可能會因為out-of-memory錯誤而失敗。在某些情況下,如果發生out-of-memory錯誤,SQL Server 可能會停止。若要降低發生這種情況的機率,請將記憶體集區的MAX_MEMORY_PERCENT設定為高值。