Symptoms
When you use the spatial data type and associated methods in Microsoft SQL Server 2012 or Microsoft SQL Sever 2014, the SQL Server Operating System (SQLOS) scheduler’s quantum targets are protected by the SQL Server CLR hosting layer. This protection involves preemptive, SQLOS switches may increase the CPU consumption. The reason for the preemptive switch is to protect the SQLOS scheduler. A call into a SQL Server CLR based implementation can take unspecified time without yielding to the SQLOS scheduler or changing the behavior and concurrency patterns. Therefore, the spatial data type is designed to switch preemptive during each invocation.
Note The spatial data type is based on SQL Server CLR, it may encounter various levels of .NET memory consumption and thread switching behavior.Cause
The spatial data type methods executions are usually sub-millisecond and may not require the full SQL OS scheduler and preemptive protection. The overhead of switching to and from preemptive mode can be much larger than the execution of the spatial method itself.
Resolution
This fix introduces the trace flag 6531 to indicate to the SQLOS hosting layer that the spatial data type should avoid preemptive protections. This can reduce the CPU consumption and improve the overall performance for spatial activities. Only use this trace flag if the individual, spatial method invocations (per row and column) take less than ~4ms. Longer invocations without preemptive protection could lead to scheduler concurrency issues and SQLCLR punishment messages logged to the error log.
The issue was first fixed in the following cumulative update of SQL Server.Cumulative Update 4 for SQL Server 2012 SP2 /en-us/help/3007556
Cumulative Update 5 for SQL Server 2014 /en-us/help/3011055
Cumulative Update 13 for SQL Server 2012 SP1 /en-us/help/3002044
Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.