SQL Server 不断加载和卸载我的程序集,将它们标记为不安全。任何想法为什么会这样做。
我将日志文件附在下面。
![enter image description here](https://i.stack.imgur.com/wnA2A.png)
由于日志中所述的确切原因,正在卸载程序集:内存压力。您无法采取任何具体措施来防止这种情况(即没有选项来禁用此行为)。您最多能做的就是通过添加更多内存和/或减少查询和/或 SQLCLR 对象的内存消耗来减少发生这种情况的可能性。
上述建议并不意味着您的查询或 .NET 代码当前存在低效问题,只是如果您需要更多内存,则需要添加更多内存或使用更少内存。如果您当前使用的内存尽可能少,那么您非常需要添加更多内存。
如果不查看您的 .NET 代码,就无法确定是否有任何可以改进的地方。但是,问题更有可能是在 SQLCLR 代码之外。您需要确定您有多少内存以及它的使用位置。尝试在 DBA.StackExchange 上查看这个问题:
SQL Server 2012缓冲池外的内存消耗
此外,SQL Server 不会将程序集标记为UNSAFE
。这就是您设置装配的方式。您可以尝试将程序集更改为EXTERNAL_ACCESS
如果它确实只进行文件系统访问操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)