Google无法告诉我SQL CLR中是否有可用的API来获取内存压力通知。
显然使用它,因为AppDomain将在内存压力下卸载,但问题是在卸载之前是否将通知发送到AppDomain,以便我可以释放一些缓存。
(我的dll已经在不安全的模式下运行,所以这不是问题)
答案 0 :(得分:0)
在SQL 2012中,他们实现了一个新查询,允许您获取当前的内存使用情况......
select survived_memory_kb from sys.dm_clr_appdomains where db_id = DB_ID()
它不会给你内存压力,但它确实允许你监视内存的使用情况,从而根据你自己的逻辑进行调整。