FIX: Niska wydajność programu SQL Server 2012 lub SQL Server 2014 podczas tworzenia indeksu na typu dane przestrzenne w dużej tabeli

Pracuj w dowolnym miejscu i na dowolnym urządzeniu dzięki platformie Microsoft 365

Uaktualnij program Microsoft 365, aby pracować w dowolnym miejscu z najnowszymi funkcjami i aktualizacjami.

Zaktualizuj teraz

Nr błędu: 194033 (Obsługa zawartości) programu VSTS: 1494706

Objawy

Podczas tworzenia indeksu (za pomocą instrukcji CREATE INDEX lub ALTER INDEX) na typu dane przestrzenne w dużej tabeli, 2012 Microsoft SQL Server lub SQL Server 2014 mogą działać niezadowalająco. Można znaleźć wiele twierdzeń spinlock na SOS_CACHESTORE i SOS_SELIST_SIZED_SLOCK.

Rozwiązanie

Ten problem został po raz pierwszy rozwiązany w następujących aktualizacji zbiorczej programu SQL Server.


Zbiorcza aktualizacja 1 dla programu SQL Server 2014/en-us/help/2931693

7 aktualizację zbiorczą dla programu SQL Server 2012 z dodatkiem SP1/en-us/help/2894115

Każda nowa aktualizacja zbiorcza dla programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały zawarte w poprzedniej zbiorczej aktualizacji. Sprawdź najnowsze aktualizacje zbiorcze dla programu SQL Server:


Informacje o pakiecie aktualizacji poprawkiObsługiwana poprawka jest udostępniana przez firmę Microsoft. Jednak ta poprawka jest przeznaczona tylko do usunięcia problemu opisanego w tym artykule. Tylko w systemach, których dotyczy ten problem, należy zastosować tę poprawkę.

Jeśli poprawka jest dostępna do pobrania, pojawi się sekcja "Poprawka dostępna do pobrania" na początku tego artykułu z bazy wiedzy Knowledge Base. Jeśli nie ma tej sekcji, należy przesłać żądanie do centrum obsługi klienta firmy Microsoft i obsługi technicznej w celu uzyskania poprawki.

Uwaga Jeśli wystąpią dodatkowe błędy lub konieczność rozwiązania problemu, być może trzeba będzie utworzyć osobne zlecenie usługi. Zwykłe koszty obsługi będą zastosowane do dodatkowych pytań i problemów, których nie można rozwiązać przy użyciu określonej poprawki. Aby uzyskać pełną listę numerów telefonów działu obsługi klienta firmy Microsoft lub utworzyć osobne zlecenie usługi odwiedź następujące witryny firmy Microsoft:

http://support.microsoft.com/contactus/?ws=supportUwaga "Poprawka dostępna do pobrania" zawiera listę języków, dla których dostępna jest poprawka. Jeśli odpowiedni język nie jest widoczny, to dlatego, że poprawka nie jest dostępna dla danego języka.

Więcej informacji

Spinlocks chronić wspólnej wpisów pamięci podręcznej procedury języka wspólnego (CLR). Plan kwerend dla Indeks utworzony lub zmieniony zazwyczaj wiąże się dla operatora Zastosuj lub operatora Pętli zagnieżdżonych . Zewnętrznej stronie operacji JOIN jest zwracanie wierszy z tabeli przestrzenne i przestrzennej funkcja kierowania. Dopuszcza się każdym wywołaniu funkcji spinlock. Podczas wykonywania kwerendy z wysoki stopień równoległości, spinlocks może stać się wąskie gardło. Poniższy diagram jest przykładem planu zagospodarowania przestrzennego.

Spatial plan

Informacje stosu wywołań(000007fa`4a1889a0) sqldk!Spinlock<212,1,1>::SpinToAcquireWithExponentialBackoff+0xd3 (000007fa`4a17e3d0) sqldk!SOS_MemoryManager::GetAddressInfo64+0x9c
(000007fa`4a1843a0) sqldk!MemoryNode::GetAllocatorType+0x36
(000007fa`4a184320) sqldk!MemoryClerkInternal::FreePages+0x3c
(000007fa`4a237a30) sqldk!ISOSHost_MemoryClerkImpl::FreePages+0x6c
(0000005f`824ab1e0) SqlServerSpatial110!ArrayOverPages<CScanner::CChain,SOS_Or_CRT_Allocator<CScanner::CChain> >::~ArrayOverPages<CScanner::CChain,SOS_Or_CRT_Allocator<CScanner::CChain> >+0x64
(0000005f`824ab640) SqlServerSpatial110!CScanner::CChainList::~CChainList+0x49
(0000005f`82501af0) SqlServerSpatial110!COrientationChecker::COrientationScanner::`scalar deleting destructor'+0x58
(0000005f`825019d0) SqlServerSpatial110!COrientationChecker::EndPolygon+0x38
(0000005f`82502440) SqlServerSpatial110!CTiledConverter::ClearAttribute+0x8b
(0000005f`82505a40) SqlServerSpatial110!CGeodeticWrapper::ClearAttribute+0x36
(0000005f`824d3fc0) SqlServerSpatial110!PopulateShapes<CGeometrySinkD>+0x1be

(000007fa`4a2605f0) sqldk!XeSosPkg::spinlock_backoff::Publish+0x138
(000007fa`4a1828a0) sqldk!SpinlockBase::Sleep+0xc5
(000007fa`345f1b80) sqllang!Spinlock<211,1,1>::SpinToAcquireWithExponentialBackoff+0xee
(000007fa`345c58c0) sqllang!TCacheStore<CacheClockAlgorithm>::GetUserData+0xbf
(000007fa`34ecfd30) sqllang!CClrCache::LookupClrCacheObject+0x7b
(000007fa`34ed00f0) sqllang!CClrCache::GetClrExecCacheObjectForUdf+0x2e
(000007fa`34f723f0) sqllang!CTableValuedClrUdf::Init+0x53a
(000007fa`34e12680) sqllang!IStreamTVF::Init+0x2d
(000007fa`37974a70) sqlmin!CQScanTVFStreamNew::Open+0x54b
(000007fa`36dfbd10) sqlmin!CQScanNLJoinTrivialNew::GetRow+0x10f
(000007fa`3794d0e0) sqlmin!CQScanIndexSortNew::BuildSortTable+0x1b6
(000007fa`3794be30) sqlmin!CQScanIndexSortNew::OpenHelper+0x79
(000007fa`36ddfa30) sqlmin!CQScanNew::OpenHelper+0x41
(000007fa`36f19920) sqlmin!CQScanXProducerNew::Open+0xc8
(000007fa`36ebbfc0) sqlmin!FnProducerOpen+0x44
(000007fa`34f0b360) sqllang!UM_LoopbackForParallelExecution+0x1a4

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.

Powiązane artykuły

Aby uzyskać więcej informacji na temat innego problemu z wydajnością podczas tworzenia indeksu na typu dane przestrzenne w dużej tabeli programu SQL Server 2012, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

NAPRAW 2887888 : niska wydajność w programie SQL Server podczas tworzenia indeksu na typu dane przestrzenne w dużej tabeli w wystąpieniu programu SQL Server 2012

Author: rdorr; jannaw
Writer: v-shysun
Weryfikacja tech.: rdorr; brellwei; ajayj; jannaw; sqlprev
Editor: v-mordew

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×