Dela via


Samverkansproblem mellan bearbetning av batchläge och stor sidminnesmodell

Den här artikeln hjälper dig att lösa problem med prestanda och stabilitet som uppstår vid användning av batchlägesbearbetning i columnstore och rowstore med en stor sidminnesmodell i SQL Server.

Ursprunglig produktversion: SQL Server 2012, SQL Server 2014, SQL Server 2016, SQL Server 2017, SQL Server 2019, SQL Server 2022
Ursprungligt KB-nummer: 3210239

Symptom

I det här scenariot uppstår ett eller flera av följande problem:

  • Ett fel som inte returnerar Scheduler och tillhörande minnesdumpar i SQL Server-felloggen.

  • Frågor som använder bearbetning i batchläge kan stöta på allvarliga prestandaproblem.

  • Åtkomstfel och tillhörande minnesdumpar i SQL Server-felloggen.

  • Du kan se följande felmeddelande när du kör sp_createstats:

    There is insufficient system memory in resource pool 'default' to run this query
    

Lösning

Du kan åtgärda dessa problem genom att prova någon av följande två metoder:

  • Inaktivera den stora sidminnesmodellen genom att ta bort spårningsflaggan 834 (-T834) från SQL Server-startparametrarna på SQL Server-instansen. När du slutför det här steget slutar SQL Server att använda en large page minnesmodell och återgår till en conventional eller lock pages en minnesmodell.

  • Om du inte använder kolumnlagringsindex i SQL Server och du upplever de symptom som beskrivs kan du inaktivera batchläge på radlagring på databasnivå med hjälp ALTER DATABASE SCOPED CONFIGURATION SET BATCH_MODE_ON_ROWSTORE = OFFav . Mer information finns i ÄNDRA DATABASOMFATTNINGSKONFIGURATION.

Mer information