Google 无法告诉我 SQL CLR 中是否有可用的 API 来获取内存压力通知。
它显然是被使用的,因为 AppDomain 会在内存压力下被卸载,但问题是通知是否在卸载之前发送到 AppDomain,以便我可以释放一些缓存内存。
(我的 dll 已经在不安全模式下运行,所以这不是问题)
最佳答案
在 SQL 2012 中,他们实现了一个新查询,允许您获取当前的内存使用情况...
select survived_memory_kb from sys.dm_clr_appdomains where db_id = DB_ID()
它不会给您带来内存压力,但它确实允许您监控内存的使用情况,从而根据您自己的逻辑进行调整。
关于sql-server - SQL CLR 中的内存压力通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2406654/