Symptom
När du kör många samtidiga gruppinfogningar i grupperat kolumnlager i Microsoft SQL Server 2017 och 2019 på en dator som inte har tillräckligt med minne kan du få ett time out-fel om att minnet beviljar time out.
Status
Microsoft har bekräftat att det är ett problem i de Microsoft-produkter som listas i avsnittet "Gäller för".
Mer information
Många frågor för massinfogning i kolumnarkivet kan kräva mycket minne för kolumnlageroperatorn och andra minneskrävande operatorer i frågan, till exempel sortera.
Som standard SQL Server i 25 sekunder för att få minnes grant. Om en massinfogning fortfarande inte kan få nödvändig minne kan den behövas för att trickle insert och kontrollera att frågor kan fortsätta. (Mer information om trick-infogningar finns i Columnstore-index – Information om datainläsning).
Detta inträffar däremot bara när antalet aktiva sessioner med ett minnesvärde i den aktuella resurspoolen är mindre än ett visst tröskelvärde som motsvarar antalet logiska kärnor. Om antalet samtidiga sessioner är för högt kan frågan för massinfogning misslyckas och genererar ett time out-fel för minnes grant efter 25 sekunder. Det kan skapa oväntade problem för programmen för dataläsning. Den här uppdateringen ändrar hur en massinfogning väntar på ett minnespenn. Infoga kommer nu att använda ett time out-värde som beräknas på liknande sätt som alla andra typer av fråga.
Lösning
Det här problemet är åtgärdat i följande kumulativa uppdateringar för SQL Server:
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den föregående kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Referenser
Läs mer om terminologin somMicrosoft använder för att beskriva programuppdateringar.