Symptomy
W przypadku korzystania z typu danych przestrzennych i skojarzonych metod w programie Microsoft SQL Server 2012 lub Microsoft SQL Server 2014 obiekty docelowe Quantum programu SQL Server (SQLOS) są chronione za pomocą warstwy hostingu programu SQL Server CLR. Ta ochrona obejmuje przewagę, przełączniki SQLOS mogą zwiększyć zużycie procesora. Powodem odstępujący przełącznik jest ochrona SQLOS Scheduler. Połączenie z implementacją opartą na CLRch programu SQL Server może potrwać nieokreślony czas bez przeprowadzenia SQLOS harmonogramu lub zmiany zachowania i wzorców współbieżności. W związku z tym typ danych przestrzennych jest przeznaczony do przełączenia zastępujący podczas każdego wywołania. Uwaga Typ danych przestrzennych jest określany na podstawie środowiska SQL Server CLR, może napotkać różne poziomy wykorzystania pamięci .NET i zachowania funkcji przełączania wątków.
Przyczyna
Wykonywanie metod typu danych przestrzennych jest zwykle obsługiwane i może nie wymagać pełnego harmonogramu SQL OS i ochrony przed zastępująeniem. Narzuty przełączenia na tryb zastępujące może być o wiele większe niż wykonanie metody przestrzennej.
Rozwiązanie
W tej naprawieniu jest wprowadzana flaga śledzenia 6531 wskazująca na warstwę hostingu SQLOS, w której typ danych przestrzennych powinien unikać ochrony przed zastępująeniem. Może to zmniejszyć zużycie procesora i zwiększyć ogólną wydajność działań przestrzennych. Tej flagi śledzenia należy używać tylko wtedy, gdy poszczególne wywołania metody przestrzennej (na wiersz i kolumna) zajmują mniej niż ~ 4ms. Dłuższe rozmowy bez ochrony przed przeskokiem mogą powodować problemy z współbieżnością harmonogramu oraz SQLCLR kary rejestrowane w dzienniku błędów. Ten problem został po raz pierwszy rozwiązany w poniższej zbiorczej aktualizacji programu SQL Server.
Zbiorcza aktualizacja 4 dla programu SQL Server 2012 z dodatkiem SP2 /en-us/help/3007556
Zbiorcza aktualizacja 5 dla programu SQL Server 2014 /en-us/help/3011055
Zbiorcza aktualizacja 13 dla programu SQL Server 2012 z dodatkiem SP1 /en-us/help/3002044
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".