环境
- ArcGIS10.x版本
- SQLServer数据库
问题
当用户使用ArcGIS 10.x for Desktop连接ArcSDE for SQLServer 系统提示如下错误:
原因
这是因为用户针对SQL Server数据库的lightweight pooling参数做相关设置造成的问题。
延伸阅读
使用 lightweight pooling 选项可以减少有时在对称多处理 (SMP) 环境下遇到的、与过多的上下文切换有关的系统开销。 如果出现过多的上下文切换,轻型池可以通过上下文切换内联化,从而降低用户/内核环的转换频率,达到提高吞吐量的目的。
纤程模式专用于 UMS 工作线程的上下文切换是性能的关键瓶颈的某些情况。 因为这种情况很少出现,所以纤程模式很少增强典型系统上的性能或可扩展性。 Microsoft Windows Server 2003 中改进的上下文切换也减少了对纤程模式的需求。 建议您不要使用纤程模式计划日常操作,这是因为它会抑制上下文切换优势的正常发挥,并且使用线程本地存储区 (TLS) 或线程所有的对象(如互斥体,一种 Win32 内核对象)的某些 SQL Server 组件在纤程模式下无法正常工作。
将 lightweight pooling 设置为 1 将使 SQL Server 切换到纤程模式计划。 该选项的默认值为 0。
lightweight pooling 选项是一个高级选项。 如果使用 sp_configure 系统存储过程来更改该设置,则仅当 show advanced options 设置为 1 时才可以更改 lightweight pooling。 该设置在服务器重新启动后生效。
轻型池不支持执行公共语言运行时 (CLR)。 禁用以下两个选项之一:“clr enabled”或“lightweight pooling”。 依赖于 CLR 并且在纤程模式下无法正常工作的功能包括:hierarchy 数据类型、复制和基于策略的管理。