2016-04-19 56 views
0

我知道我之前问过这个问题,但没有得到一个好的答案。由于内存压力,我认为这与我的CLR有关,所以我的sql server 2014一直在卸载Appdomain。我不知道如何解决这个问题。我已经尝试了很多东西。我会附上我的日志到这个帖子。感谢您的帮助。 enter image description hereAppDomain卸载

回答

1

一切都没有改变,因为你先贴同样的问题在这里:

Assemblies in SQL Server keep unloading and loading again periodically

有没有办法来防止SQL Server能够卸载它选择的任何应用程序域。

内存压力意味着没有太多的物理内存,SQL Server大大优先于交换/页面文件的物理内存。以下是需要注意的事项:

  1. 查看您的SQLCLR代码。你是否正确关闭一次性物品?你在内存中存储了很多东西吗?你的装配为什么标记为UNSAFE?是否因为您正在将数据存储在静态变量中?您使用的.NET类有内存泄漏,因此无法在SAFEEXTERNAL_ACCESS程序集中使用(例如,使用TimeZoneInfo在两个TimeZoneID之间转换DATETIME值)?
  2. 即使SQLCLR代码未运行,服务器上有多少内存可用? SQL Server被配置为使用足够的系统内存(即,检查最大服务器内存设置)。
  3. 除了SQL Server之外,还有其他应用程序/进程在OS上运行吗?如果是这样,他们可以占用应该转到SQL Server的物理内存。
相关问题