Уведомление о нехватке памяти в SQL CLR
Google не может сказать мне, есть ли API, доступный в SQL CLR, чтобы получить уведомление о нехватке памяти.
Он, очевидно, используется, поскольку домен приложения будет выгружен под давлением памяти, но вопрос в том, отправляется ли уведомление в домен приложения до выгрузки, чтобы я мог освободить часть кеш-памяти.
(Моя DLL уже работает в небезопасном режиме, так что это не проблема)
1 ответ
Решение
В SQL 2012 они реализовали новый запрос, который позволяет вам получить текущее использование памяти...
select survived_memory_kb from sys.dm_clr_appdomains where db_id = DB_ID()
Он не дает вам нагрузку на память, но он позволяет вам контролировать использование памяти и, следовательно, регулировать на основе вашей собственной логики.