Проблемы
При использовании пространственных данных и связанных методов в Microsoft SQL Server 2012 или Microsoft SQL Sever 2014 целевые объекты планировщика операционной системы SQL Server (SQLOS) защищаются уровнем размещения SQL Server CLR. Эта защита связана с вытеснением, SQLOS коммутаторы могут увеличивать потребление центрального процессора. Причина для переключателя с вытеснением заключается в том, чтобы защитить планировщик SQLOS. Вызов реализации SQL Server на основе среды CLR может занимать неопределенное время, не выполняя планировщик SQLOS или изменяя шаблоны поведения и параллелизма. Таким образом, пространственный тип данных предназначен для переключения приоритета при каждом вызове. Примечание. Пространственный тип данных основан на SQL Server CLR, он может столкнуться с различными уровнями потребления памяти .NET и поведением переключения потоков.
Причина
Как правило, выполнение методов пространственных данных выполняется в миллисекундах и может не требовать полного планировщика ОС SQL и антиприоритетной защиты. Накладные расходы на переключение на и из режима с вытеснением могут значительно больше, чем выполнение пространственного метода.
Решение
Это исправление содержит флаг трассировки 6531, указывающий на слой размещения SQLOS, что пространственный тип данных должен исключить приоритетную защиту. Это может снизить потребление центрального процессора и повысить общую производительность пространственных операций. Этот флаг трассировки следует использовать только в том случае, если отдельные методы пространственного метода (для каждой строки и столбца) имеют меньший, чем ~ 4ms. Более длинные вызовы без приоритетной защиты могут привести к проблемам параллелизма планировщика, а punishment сообщения SQLCLR записываются в журнал ошибок. Эта проблема впервые устранена в следующем накопительном обновлении SQL Server.
Накопительное обновление 4 для SQL Server 2012 с пакетом обновления 2 (SP2) /en-us/help/3007556
Накопительное обновление 5 для SQL Server 2014 /en-us/help/3011055
Накопительное обновление 13 для SQL Server 2012 с пакетом обновления 1 (SP1) /en-us/help/3002044
Все новые накопительные обновления для SQL Server содержат все исправления и все исправления для системы безопасности, которые были включены в предыдущий накопительный пакет обновления. Ознакомьтесь с самыми последними накопительными обновлениями для SQL Server.
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".