Simptome
Atunci când încercați să executați mai multe interogări mari simultan în Microsoft SQL Server 2014, este posibil ca unele interogări să aștepte RESOURCE_SEMAPHORE_QUERY_COMPILE. O singură interogare care necesită mai multă memorie decât pragul de Gateway mare (așa cum este furnizat de rezultatul comenzii DBCC MEMORYSTATUS ) pentru a compila poate continua, chiar dacă serverul are suficientă memorie disponibilă.Notă Acesta este un comportament așteptat. Cu toate acestea, în sistemele de lot mari, cum ar fi un depozit de date, acest lucru poate retrograda performanța în execuția simultană a mai multor interogări.
Rezolvare
Informații despre actualizarea cumulativă
Problema a fost remediată pentru prima dată în următoarea actualizare cumulativă de SQL Server.
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ă. Vă recomandăm să descărcați și să instalați cele mai recente actualizări cumulative pentru SQL Server:
Această remediere rapidă introduce o nouă urmărire Flag-T 6498. Acest semnalizator de urmărire permite mai multor colecții mari de interogări să obțină acces la gateway-ul mare atunci când există suficientă memorie disponibilă. Acesta se bazează pe procentul 80 din memoria țintă SQL Server și permite o compilare de interogare mare la 25 gigaocteți (GO) de memorie. De exemplu, acest lucru permite două compilații mari de interogări pe un computer de memorie țintă 64 GB. După ce aplicați această remediere rapidă, trebuie să activați Trace Flag-T 6498 pentru a activa noul comportament. Notă Dacă activați semnalizarea de urmărire utilizând comanda DBCC TRACEON , nu trebuie să reporniți serverul pentru ca semnalizarea de urmărire să aibă efect. Dar poate dura 10 secunde pentru ca noua configurație a gateway-ului să se aplice. O remediere rapidă acceptată este disponibilă de la Microsoft. Cu toate acestea, această remediere rapidă este destinată să corecteze doar problema descrisă în acest articol. Aplicați această remediere rapidă doar pentru sistemele care întâmpină această problemă specifică. Dacă remedierea rapidă este disponibilă pentru descărcare, există o secțiune "Descărcare disponibilă pentru remediere rapidă" din partea de sus a acestui articol din baza de cunoștințe. Dacă această secțiune nu apare, trimiteți o solicitare către serviciul clienți Microsoft și asistență pentru a obține remedierea rapidă. Notă Dacă apar probleme suplimentare sau dacă este necesară o depanare, poate fi necesar să creați o solicitare de serviciu separată. Se vor aplica costurile uzuale de asistență pentru întrebări suplimentare de asistență și probleme care nu se califică pentru această remediere rapidă specifică. Pentru o listă completă de servicii pentru clienți Microsoft și numere de telefon pentru asistență sau pentru a crea o solicitare de serviciu separată, vizitați următorul site Web Microsoft:
http://support.microsoft.com/contactus/?ws=support Notă Formularul "Descărcare disponibilă pentru remedierea rapidă" afișează limbile pentru care este disponibilă remedierea rapidă. Dacă nu vedeți limba, aceasta se întâmplă deoarece o remediere rapidă nu este disponibilă pentru acea limbă.
Mai multe informații
CauzăSQL Server utilizează gateway-urile de compilare pentru a accelera compilațiile. Arhitectura Gateway este o modalitate pentru SQL Server pentru a menține utilizarea memoriei pentru compilarea interogărilor de intrare sub control. Există trei gateway-uri: mici, medii și mari. Pentru mai multe informații despre cum să utilizați comanda DBCC MEMORYSTATUS pentru a monitoriza utilizarea memoriei, consultați KB 907877: cum se utilizează comanda DBCC MEMORYSTATUS pentru a monitoriza utilizarea memoriei în SQL Server 2005.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.