sql-server - AppDomain 已卸载

标签 sql-server memory sql-server-2014 sqlclr

我知道我以前问过这个问题,但没有得到好的答案。由于我认为与我的 CLR 有关的内存压力,我的 sql server 2014 不断卸载 Appdomain。我现在不确定如何修复它。我已经尝试了很多东西。我会将我的日志附加到这篇文章中。谢谢你的帮助。 enter image description here

最佳答案

自从您在这里首次发布同样的问题以来,一切都没有改变:

Assemblies in SQL Server keep unloading and loading again periodically

无法阻止 SQL Server 卸载它选择的任何 AppDomain。

内存压力意味着没有太多的物理内存剩余,SQL Server 非常喜欢物理内存而不是交换/页面文件。以下是需要注意的事项:

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

关于sql-server - AppDomain 已卸载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36724857/

相关文章:

c - 如果线程在释放内存之前被杀死,如何释放线程分配的内存?

SQL Server 内存中 OLTP 哈希索引设置 BUCKET_COUNT 值

mysql - 使用子查询别名将 SQL Server 查询转换为 MySQL 查询

php - mysqli 命令是否也可用于 mssql 服务器?

sql-server - 无法在 SQL Server Management Studio 2008 SP3 中打开 .sdf 文件

sql-server - 如何在 Azure 中配置用于 MsSql 导出目的的存储

iphone - iPhone 内存泄漏问题

sql - SQL 中的慢速选择查询,表中只有 200 万条记录

c - C 指针(总是)以有效地址内存开头吗?

SQL Server : Optimal performance clustered indexing and expected indexsize