从 BOL 来看,我的理解是 DBA 不需要管理为内存优化表创建的 DLL 或本机编译的存储过程,因为它们会在 SQL Server 服务启动时自动重新编译,并在不再需要时删除。但我亲眼目睹,即使在删除内存优化表并重新启动服务之后,DLL 仍然存在于文件系统中,并且仍然加载到 SQL 内存中并附加到进程中。这可以通过以下事实来证明:它们在 sys_dm_os_loaded_modules 中仍然可见,并且在 SQL 服务运行时如果您尝试删除它们,它们会被锁定在文件系统中。
这是一个错误吗?或者他们会在以后清理?如果在以后的日期,如果不是实例重启,是什么触发了清理?