sql-server - IN SQL Server 是 CLR 线程安全的

标签 sql-server thread-safety sqlclr

我在 SQL Server 和 Exchange Web 服务之间有一个 CLR 接口(interface),用于在应用程序之间同步和发送电子邮件。在对此进行测试时,它可以正常工作(编辑);我们在生产环境中看到零星的问题,较长的 Web 服务任务似乎重叠了。

我的问题很简单,我无法通过阅读 MSDN 上的 CLR 详细信息来决定 - CLR 线程安全还是开箱即用。

如果不是对线程安全的 CLR 进行调用的最佳方法是围绕我的程序进行应用锁定,或者是否有不那么激烈的替代方案。


感谢您的回复;我们正在解决这是一个 EWS/模拟问题而不是 SQL 问题。我们在几个小时内对系统进行了一组新的负载测试,即使在大量负载下(比应用程序迄今为止看到的高 1000 倍)我们也看不到内存泄漏/线程问题,这就是我们现在寻找其他地方的原因..

最佳答案

不要使用进程内 CLR 连接外部、Web 服务或交换或其他任何东西。使用 SQL Server 外部的普通进程。您将看到的不仅仅是“零星”问题:您将在 CLR 事件上耗尽工作池,并且 SQL Server 将卡住

关于sql-server - IN SQL Server 是 CLR 线程安全的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3414649/

相关文章:

c# - SQL CLR 触发器,由于透明代码调用关键代码,如何使程序集可信?

sql-server - SQL数据库触发器线程安全吗?

c# - 捕获数据库约束错误的最佳方法

c# - 系统时间关闭时如何使用 SQL Server 的 GETDATE()?

multithreading - PostSharp OnMethodBoundaryAspect 不是线程安全的

c# SqlDecimal 在小数乘法中翻转符号

sql-server - access和sql server实时同步

java - 我正在寻找优雅地停止 java 线程并发现了这一点,但我不知道如何检查这种情况的示例

ruby-on-rails - Sidekiq 和 Puma 中的 Redis 变量,线程安全吗?

parsing - 我如何解析 bool 逻辑?