FIX: Performanţă slabă a SQL Server la compilarea un index pe un tip de date spaţiale de un tabel mari într-o instanță de SQL Server 2012 sau SQL Server 2014

Număr eroare: 194032 (întreținere conținut) VSTS: 1484606

Simptome

Când încercați pentru a construi un index (utilizând CREATE INDEX sau ALTER INDEX) pe un tip de date spaţiale de un tabel mare în Microsoft SQL Server 2012 sau SQL Server 2014, probleme privind împărțirea este mare pe tipul de așteptare CMEMTHREAD și performanța scade SQL Server.

Rezolvare

Problema a fost rezolvată mai întâi în următoarea actualizare cumulativă de SQL Server.

Actualizare cumulativă 1 pentru SQL Server 2014/en-us/help/2931693

Actualizare cumulativă 7 pentru SQL Server 2012 SP1/en-us/help/2894115

Fiecare nouă actualizare cumulativă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse în actualizarea cumulativă anterioară. Verifica cele mai recente actualizări cumulative pentru SQL Server:


Informații despre actualizarea pachetul de remediere rapidăO remediere rapidă compatibilă este disponibilă de la Microsoft. Cu toate acestea, această remediere rapidă este destinată pentru a corecta doar problema descrisă în acest articol. Aplicați această remediere rapidă numai pentru sistemele care întâmpină această problemă anume.

Dacă remedierea rapidă este disponibilă pentru descărcare, există o secțiune "Descărcare disponibilă pentru remediere rapidă" în partea de sus a acestui articol din baza de cunoștințe. Dacă nu apare această secţiune, trimite o solicitare de la serviciul pentru clienți Microsoft de asistență pentru a obţine remedierea rapidă.

Notă Dacă se produc probleme suplimentare sau este necesară depanarea, poate fi necesar să creați o solicitare de asistenţă separată. Costurile de obicei pentru suport se vor aplica pentru sprijin suplimentar, întrebări și probleme care nu sunt specifice pentru această remediere rapidă . Pentru o listă completă cu numerele de telefon ale clienților servicii și asistență Microsoft sau pentru a crea o solicitare de asistenţă separată, vizitați următorul site Web Microsoft:

http://support.microsoft.com/contactus/?ws=supportNotă Formularul "Descărcare disponibilă pentru remediere rapidă" afişează limbile pentru care este disponibilă remedierea rapidă. Dacă nu vedeți limba dvs., înseamnă că o remediere rapidă nu este disponibilă pentru respectiva limbă.

Mai multe informații

Un tip de așteptare CMEMTHREAD indică aşteptaţi obiectele intern, fără fir de memorie. Niveluri mai mari de interogare paralelism să declanșeze aşteptaţi care duce la performanță scăzută a activității spaţiale.

Această remediere partiţiile CMEMTHREAD , care se asociază cu "Spaţiale memorie obiect" utilizând NUMA nod partiționarea. Astfel se reduce lucrător activitate concurență cu numărul de reminders active pe un singur nod. Pentru sisteme cu un nivel mai mare de reminders fiecare nod, semnalizator de urmărire – T8048 pot fi utilizate în continuare partiționarea toate obiectele de memorie care permite partiționarea de programator. Utilizați semnalizatorul de urmărire cu atenție, așa cum se introduce o cantitate mică de memorie aeriene la toate obiectele de memorie partiționate nod NUMA .

Notă Obiectul spaţiale memorie este creat atunci când SqlServerSpatial110.dll este încărcat în spațiul de adrese proces SQL Server. În condiții de majoritatea, acest lucru necesită o repornire a procesului de SQL Server pentru a aplica efectele semnalizatorul de urmărire.

Tipul de așteptare CMEMTHREAD este incrementează pentru orice fir de memorie protejat obiect aşteptaţi, nu numai obiectul spaţiale. Următoarele definiții de sesiune XEvent și utilizarea de simboluri public pot fi folosite pentru a identifica linia codul specific care generează CMEMTHREAD așteaptă:CREATE EVENT SESSION wait_stacksON SERVER
ADD EVENT sqlos.wait_info
(
action(package0.callstack)
where opcode = 1 -- wait completed
and wait_type = 191 -- CMEMTHREAD
)
add target package0.asynchronous_bucketizer (SET source_type = 1, source = 'package0.callstack'),
add target package0.ring_buffer (SET max_memory = 4096)
With (MAX_DISPATCH_LATENCY = 1 SECONDS)
Go
alter event session wait_stacks on server state = start
go

Run the repro

select event_session_address, target_name, execution_count, cast (target_data as XML)
from sys.dm_xe_session_targets xst
inner join sys.dm_xe_sessions xs on (xst.event_session_address = xs.address)
where xs.name = 'wait_stacks'
go

Stare

Microsoft a confirmat că aceasta este o problemă cu produsele Microsoft enumerate în secţiunea „Se aplică la".

Author: rdorr; jannaw
Writer: v-shysun
Examinare tehnică: rdorr; brellwei; ajayj; jannaw; sqlprev
Editor:

Aveți nevoie de ajutor suplimentar?

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă la Microsoft Insider

V-a fost de ajutor această informație?

Vă mulțumim pentru feedback!

Vă mulțumim pentru feedback! Se pare că ar fi util să luați legătura cu unul dintre agenții noștri de asistență Office.

×