Azure-Sql-Database

如何清除 Azure SQL 數據庫的數據緩衝區記憶體

  • November 27, 2017

我想對 Azure SQL 數據庫進行一些性能測試。

對於 SQL Server,我讀過DBCC DROPCLEANBUFFERS可用於清除數據緩衝區記憶體,而DBCC FREEPROCCACHE可用於清除執行計劃記憶體。

但 Azure SQL 數據庫都不支持。對於執行計劃記憶體,ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE 似乎是一種替代方案。但我找不到數據緩衝區記憶體的替代方案。

如何清除 Azure SQL 數據庫的數據緩衝區記憶體?

Azure SQL 數據庫目前沒有類似 DBCC DROPCLEANBUFFERS 之類的東西可用於清理緩衝池上的數據,但擴展或縮小數據庫層具有與 DBCC DROPCLEANBUFFERS 相同的效果,並且在最初的幾分鐘內也會減少記憶體分配.

希望這可以幫助。

您可以使用ALTER DATABASE SCOPED CONFIGURATION (Transact-SQL)來清除過程記憶體。本文討論 Azure SQL 數據庫中主動異地複制上下文中的主要和次要。

ALTER DATABASE SCOPED CONFIGURATION CLEAR PROCEDURE_CACHE ;  

清除 PROCEDURE_CACHE

清除數據庫的過程(計劃)記憶體。這可以在主伺服器和輔助伺服器上執行。

執行此語句將清除目前數據庫中的過程記憶體,這意味著所有查詢都必須重新編譯。

另一個資源:

(SQL) 每日提示:清除 SQL Azure 中的 Proc 記憶體,作者 Shannon Gowen。

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