Symptom
Tänk dig följande scenario:
- Du har ett program som använder tempdb-databasen, eller du har en specifik arbetsbelastning för tempdb-databasen.
- Du uppgraderar till Microsoft SQL Server 2016 eller en senare version och börjar se PFS-sidkonkurrens.
- Du följer tempdb-databasens bästa praxis och lägger till flera datafiler.
I det här scenariot fortsätter den kraftiga PFS-sidkonkurrensen och påverkar systemets prestanda.
Anteckning Om sidans karta är lätt att dela med 8088 är det en PFS-sida. Till exempel är sidan 2:3:905856 en PFS i file_id=3 i tempdb.
Lösning
Information om kumulativ uppdatering
Det här problemet åtgärdas i följande kumulativa uppdateringar för SQL Server:
Kumulativ uppdatering 7 för SQL Server 2017
Kumulativ uppdatering 1 för SQL Server 2016 SP2
Kumulativ uppdatering 9 för SQL Server 2016 SP1
Om 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 tidigare kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Senaste kumulativa uppdateringen för SQL Server 2017
Senaste kumulativa uppdateringen för SQL Server 2016
Det här problemet åtgärdas i snabbkorrigeringen som beskrivs i följande artikel:
4099490 On-demand hotfix update package för SQL Server 2016 SP1
Den här korrigeringen förbättrar PFS-sidallokeringen genom att utföra resursallokering över flera PFS-sidor i samma datafil utöver resursallokeringen över alla tempdb-datafiler. Ju fler PFS-datasidor som finns i en datafil och ju fler datafiler det finns, desto bättre blir allokeringsfördelningen.
Anteckning Eftersom data nu är utspridda över PFS-intervallen i tempdb-databasfilerna, kommer åtgärder som databaskrympning att bli mer resurskrävande. Det rekommenderas dock generellt inte att krympa tempdb under det normala driftförloppet.
Service Pack-information för SQL Server:
Den här uppdateringen åtgärdas i följande Service Pack för SQL Server:
Service Pack 3 för SQL Server 2014
Om Service Pack för SQL Server:
Service Pack är kumulativa. Varje ny service pack-version innehåller alla korrigeringar som ingår i tidigare service pack-versioner samt eventuella nya korrigeringar. Vår rekommendation är att använda den senaste Service Pack-versionen och den senaste kumulativa uppdateringen för den Service Pack-versionen. Du behöver inte installera en tidigare Service Pack-version innan du installerar den senaste Service Pack-versionen. I tabell 1 i följande artikel hittar du mer information om den senaste Service Pack-versionen och den senaste kumulativa uppdateringen.
Så här fastställer du version, utgåva och uppdateringsnivå för SQL Server och dess komponenter
Status
Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".
Referenser
Rekommendationer för att minska allokeringskonkurration i SQL Server tempdb-databas