Problembeschreibung
Wenn Sie den Spatial-Datentyp und die zugehörigen Methoden in Microsoft SQL Server 2012 oder Microsoft SQL Server 2014 verwenden, werden die Quanten Ziele des SQL Server Operating System (SQLOS)-Schedulers durch die SQL Server-CLR-Hostebene geschützt. Dieser Schutz beinhaltet präventive, SQLOS-Schalter können den CPU-Verbrauch erhöhen. Der Grund für den präventiven Schalter besteht darin, den SQLOS-Planer zu schützen. Ein Aufruf an eine SQL Server-CLR-basierte Implementierung kann unbestimmte Zeit in Anspruch nehmen, ohne den SQLOS-Planer zu übertragen oder das Verhalten und die Parallelitäts Muster zu ändern. Aus diesem Grund ist der Spatial-Datentyp so konzipiert, dass er während des Aufrufs den PreEmptive-Schalter wechselt. Hinweis Der Spatial-Datentyp basiert auf SQL Server CLR, er kann unterschiedliche Ebenen von .net-Speicherverbrauch und Threadwechsel Verhalten aufweisen.
Ursache
Die Ausführungen der Spatial-Datentyp Methoden sind in der Regel Sub-Millisekunden und erfordern möglicherweise nicht den vollständigen SQL-Betriebssystem Planer und präventiv Schutz. Der Overhead beim Umschalten in den und aus dem präventiv Modus kann viel größer als die Ausführung der räumlichen Methode selbst sein.
Fehlerbehebung
Dieser Fix führt das Ablaufverfolgungsflag 6531 ein, um der SQLOS-Hostebene zu signalisieren, dass der Spatial-Datentyp vorbeugende Schutzmaßnahmen vermeiden soll. Dadurch kann der CPU-Verbrauch verringert und die Gesamtleistung für räumliche Aktivitäten verbessert werden. Verwenden Sie das Ablaufverfolgungsflag nur, wenn die einzelnen, räumlichen Methodenaufrufe (pro Zeile und Spalte) weniger als ~ 4ms. Längere Aufrufe ohne präventiven Schutz können zu Problemen mit der Terminplanung und SQLCLR bestrafungs Nachrichten führen, die im Fehlerprotokoll protokolliert werden. Das Problem wurde zuerst im folgenden kumulativen Update von SQL Server behoben.
Kumulatives Update 4 für SQL Server 2012 SP2 /en-us/help/3007556
Kumulatives Update 5 für SQL Server 2014 /en-us/help/3011055
Kumulatives Update 13 für SQL Server 2012 SP1 /en-us/help/3002044
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Schauen Sie sich die neuesten kumulativen Updates für SQL Server an:
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.