Aanbevolen updates en configuratieopties voor SQL Server met werklasten met hoge prestaties
Dit artikel bevat een lijst met prestatieverbeteringen en configuratieopties die beschikbaar zijn voor SQL Server 2012 en latere versies.
Oorspronkelijke productversie: SQL Server 2014, SQL Server 2012
Oorspronkelijk KB-nummer: 2964518
De aanbevolen updates toepassen en de prestaties van SQL Server 2014 en SQL Server 2012 verbeteren
In dit artikel worden de prestatieverbeteringen en wijzigingen beschreven die beschikbaar zijn voor SQL Server 2014- en SQL Server 2012-versies via verschillende productupdates en configuratieopties. U kunt overwegen deze updates toe te passen om de prestaties van het exemplaar van SQL Server te verbeteren. De mate van verbetering die u ziet, is afhankelijk van verschillende factoren die het workloadpatroon, conflictenpunten, processorindeling (aantal processorgroepen, sockets, NUMA-knooppunten, kernen in een NUMA-knooppunt) en de hoeveelheid geheugen in het systeem omvatten. Het ondersteuningsteam van SQL Server heeft deze updates en configuratiewijzigingen gebruikt om redelijke prestatieverbeteringen te bereiken voor klantworkloads die hardwaresystemen gebruikten die verschillende NUMA-knooppunten en veel processors hadden. Het ondersteuningsteam blijft dit artikel bijwerken met andere updates in de toekomst.
High-end systemen Een high-end systeem heeft meestal meerdere sockets, acht kernen of meer per socket, en een half terabyte of meer geheugen.
Notitie
In SQL Server 2016 en latere versies zijn veel van de traceringsvlagmen die in dit artikel worden genoemd, het standaardgedrag en hoeft u deze niet in te schakelen in deze versies.
De aanbevelingen worden als volgt gegroepeerd in drie tabellen:
- Tabel 1 bevat de meest aanbevolen updates en traceringsvlagmen voor schaalbaarheid op high-endsystemen.
- Tabel 2 bevat aanbevelingen en richtlijnen voor aanvullende afstemming van prestaties.
- Tabel 3 bevat aanvullende schaalbaarheidsoplossingen die samen met een cumulatieve update zijn opgenomen.
Tabel 1. Belangrijke updates en traceringsvlagmen voor geavanceerde systemen
Controleer de volgende tabel en schakel de traceringsvlagken in de kolom Trace-vlag in nadat u ervoor hebt gezorgd dat uw exemplaar van SQL Server voldoet aan de vereisten in de kolom Toepasselijke versie- en buildbereiken .
Notitie
Toepasselijke versie en build geven de specifieke update aan waarin de wijzigings- of traceringsvlag is geïntroduceerd. Als er geen CU is opgegeven, worden alle CU's in de SP opgenomen.
Niet toepasselijke versie en build geven de specifieke update aan waarin de wijzigings- of traceringsvlag het standaardgedrag werd. Daarom is het gewoon toepassen van die update voldoende om de voordelen te krijgen.
Belangrijk
Wanneer u oplossingen inschakelt met traceringsvlagmen in AlwaysOn-omgevingen, moet u ervoor zorgen dat u de fix- en traceringsvlagmen moet inschakelen voor alle replica's die deel uitmaken van de beschikbaarheidsgroep.
Scenario en symptoom om rekening mee te houden | Traceringsvlag | Toepasselijke versie- en buildbereiken | Niet van toepassing zijnde versie- en buildbereiken | Knowledge Base-artikel/blogkoppeling met meer informatie |
---|---|---|---|---|
|
T8048 |
|
|
|
|
T8079 | SQL Server 2014 SP2 naar huidige SP/CU |
|
|
|
T9024 | Cumulatief updatepakket 3 voor SQL Server 2012 Service Pack 1 naar SP2 SQL Server 2014 RTM |
|
FIX: Hoge tellerwaarde voor schrijfwachttijden voor logboeken op een SQL Server 2012- of SQL Server 2014-exemplaar |
Uw exemplaar van SQL Server verwerkt duizenden verbindingsherstelbewerkingen vanwege groepsgewijze verbindingen. | T1236 | Cumulatief updatepakket 9 voor SQL Server 2012 Service Pack 1 naar SP2 Cumulatieve update 1 voor SQL Server 2014 |
|
|
|
T1118 |
|
|
Gelijktijdigheidsverbeteringen voor de tempdb-database OPMERKING Schakel de traceringsvlag in en voeg meerdere gegevensbestanden toe voor de tempdb-database. |
|
T1117 |
|
|
Aanbevelingen voor het verminderen van toewijzingsconflicten in de SQL Server-tempdb-database |
Zware SOS_CACHESTORE spinlockconflicten of uw plannen worden regelmatig verwijderd op ad-hocqueryworkloads. |
T174 |
|
Geen |
|
|
T8032 |
|
Geen |
|
Bestaande statistieken worden niet vaak bijgewerkt vanwege het grote aantal rijen in de tabel. | T2371 |
|
Geen | |
|
T7471 | SQL Server 2014 SP1 CU6 naar huidige SP/CU | Geen | Prestaties van updatestatistieken verbeteren met SQL 2014 en SQL 2016 |
CHECKDB-opdracht duurt lang voor grote databases. |
|
|
Geen | |
CHECKDB-opdracht duurt lang voor grote databases. | T2566 |
|
Geen |
|
Het uitvoeren van gelijktijdige datawarehouse-query's die lange compileertijd duren, resulteert in RESOURCE_SEMAPHORE_QUERY_COMPILE wachttijden. |
T6498 | Cumulatief updatepakket 6 voor SQL Server 2014 naar SP1 |
|
|
U kunt specifieke problemen met de prestaties van query's oplossen. Optimalisatieoplossingen zijn standaard uitgeschakeld. | T4199 |
|
Geen | |
U ondervindt trage prestaties met querybewerkingen met ruimtelijke gegevenstypen. |
|
|
|
|
|
T8075 |
|
|
FIX: Fout met onvoldoende geheugen wanneer de virtuele adresruimte van het SQL Server-proces laag is in SQL Server |
|
T3449 |
|
|
FIX: het maken van een SQL Server-database op een systeem met een grote hoeveelheid geheugen duurt langer dan verwacht |
Tabel 2. Algemene overwegingen en aanbevolen procedures voor het verbeteren van de prestaties van uw exemplaar van SQL Server
Bekijk de inhoud in het Knowledge Base-artikel/de kolom Boeken onlineresource en overweeg de richtlijnen in de kolom Aanbevolen acties te implementeren.
Knowledge Base-artikel/Boeken Online-resource | Aanbevolen acties |
---|---|
De maximale mate van parallellismeserverconfiguratie configureren | Gebruik de sp_configure opgeslagen procedure om configuratiewijzigingen aan te brengen om de maximale mate van parallellismeserverconfiguratie voor uw exemplaar van SQL Server te configureren volgens het Knowledge Base-artikel. |
Limieten voor rekencapaciteit per editie van SQL Server | Enterprise Edition met Licenties voor Server + Client Access License (CAL) is beperkt tot 20 kernen per SQL Server-exemplaar. Er gelden geen limieten onder het Core-model voor serverlicenties. Overweeg uw editie van SQL Server te upgraden naar de juiste SKU om gebruik te maken van alle hardwarebronnen. |
Trage prestaties op Windows Server bij gebruik van het energieplan 'Evenwichtig' | Lees het artikel en werk samen met uw Windows-beheerder om een van de oplossingen te implementeren die worden vermeld in de sectie Oplossing van het artikel. |
Wijs NUMA-knooppunten handmatig toe aan K-groepen. | |
Optimaliseren voor ad-hocworkloads GEFORCEERDE PARAMETERISATIE | Vermeldingen in de plancache worden verwijderd vanwege groei in andere caches of geheugenbediende. U kunt ook verwijdering van de plancache tegenkomen wanneer de cache het maximum aantal vermeldingen bereikt. Naast traceringsvlag 8032 die hierboven is besproken, kunt u de optie optimaliseren voor ad-hocworkloadservers en ook de optie GEFORCEERDE PARAMETERISATIEdatabase overwegen. |
Paging van buffergroepgeheugen verminderen in sql Server-geheugenconfiguratie en overwegingen met betrekking tot de grootte in SQL Server 2012 en latere versies | Wijs de gebruiker De pagina's in het geheugen inschakelen (Windows) rechtstreeks toe aan het opstartaccount van de SQL-service. Zie De functie Vergrendelde pagina's inschakelen in SQL Server 2012. Stel het maximale servergeheugen in op ongeveer 90 procent van het totale fysieke geheugen. Zorg ervoor dat de opties voor servergeheugenconfiguratie accounts voor geheugen instellen vanaf alleen de knooppunten die zijn geconfigureerd voor het gebruik van instellingen voor affiniteitsmasker. |
Uitleg over SQL Server en grote pagina's... Afstemmingsopties voor SQL Server bij uitvoering in workloads met hoge prestaties | Overweeg TF 834 in te schakelen als u een server met een grote hoeveelheid geheugen hebt, met name met een werkbelasting voor analytische of datawarehousing. Houd er rekening mee dat TF 834 niet wordt aanbevolen als u columnstore-indexen gebruikt. |
Beschrijving van de opties 'Aantal cachebucket voor toegangscontrole' en 'quotum voor toegangscontrolecache' die beschikbaar zijn in de sp_configure opgeslagen procedure | Gebruik de configuratieopties voor de cacheserver om deze waarden te configureren volgens de aanbevelingen in het Knowledge Base-artikel. Aanbevolen waarden voor hoogwaardige systemen zijn als volgt: "Aantal cache-buckets voor toegang controleren": 256 "toegangscontrole cachequotum": 1024 |
Hints voor het verlenen van query's voor ALTER WORKLOAD GROUP Memory | Als u veel query's hebt die grote geheugentoekenningen uitputten, vermindert request_max_memory_grant_percent u de standaardworkloadgroep in de resource governor-configuratie van de standaardwaarde van 25 procent naar een lagere waarde. Nieuwe opties voor het verlenen van querygeheugen zijn beschikbaar (min_grant_percent en max_grant_percent ) in SQL Server |
Initialisatie van direct bestand | Werk samen met uw Windows-beheerder om het SQL Server-serviceaccount het gebruikersrecht 'Volumeonderhoudstaken uitvoeren' te verlenen op basis van de informatie in het onderwerp Books Online. |
Overwegingen voor de instellingen 'autogrow' en 'autoshrink' in SQL Server | Controleer de huidige instellingen van uw database en zorg ervoor dat deze zijn geconfigureerd volgens de aanbevelingen in het Knowledge Base-artikel. |
Databasecontrolepunten (SQL Server) | Overweeg indirecte controlepunten in te schakelen voor gebruikersdatabases om het I/O-gedrag in SQL Server 2012 en 2014 te optimaliseren. |
FIX: Trage synchronisatie wanneer schijven verschillende sectorgrootten hebben voor primaire en secundaire replicalogboekbestanden in SQL Server AG en Logshipping-omgevingen | Als u een beschikbaarheidsgroep hebt waarin het transactielogboek op de primaire replica zich op een schijf bevindt met een sectorgrootte van 512 bytes en het transactielogboek van de secundaire replica zich op een station bevindt met een grootte van 4K-sector, kan er een probleem zijn waarbij synchronisatie traag is. In deze gevallen moet het inschakelen van TF 1800 het probleem oplossen. Zie Trace Flag 1800 voor meer informatie. |
Als uw SQL Server nog niet afhankelijk is van de CPU en een overhead van 1,5% tot 2% te verwaarlozen is voor uw workloads, raden we u aan TF 7412 in te schakelen als opstarttraceringsvlag. Met deze vlag kunt u lichtgewicht profileren in SQL Server 2014 SP2 of hoger, zodat u live queryproblemen kunt oplossen in productieomgevingen. |
Tabel 3. Prestatiecorrecties die zijn opgenomen in een cumulatieve update
Bekijk de beschrijving in de kolom Symptomen en pas de vereiste updates toe in de kolom Vereiste update in toepasselijke omgevingen. U kunt het Knowledge Base-artikel raadplegen voor meer informatie over de respectieve problemen. Voor deze aanbevelingen hoeft u geen extra traceringsvlagmen in te schakelen als opstartparameters. Het toepassen van de meest recente cumulatieve update of het meest recente servicepack dat deze oplossingen bevat, is voldoende om het voordeel te krijgen.
Notitie
De CU-naam in de kolom Vereiste update biedt de eerste cumulatieve update van SQL Server waarmee dit probleem wordt opgelost. Een cumulatieve update bevat alle hotfixes en alle updates die zijn opgenomen in de vorige SQL Server-updaterelease. Daarom raden we u aan de meest recente cumulatieve update te installeren om de problemen op te lossen.
Belangrijke opmerkingen
Als alle voorwaarden in de tabel 1 van toepassing zijn op u:
- Richtlijnen voor SQL Server 2014: Pas ten minste cumulatieve update 1 toe voor SQL Server 2014 voor RTM en voeg "-T8048 -T9024 -T1236 -T1117 -T1118" toe aan de opstartparameterlijst van SQL Server.
- Richtlijnen voor SQL Server 2012: SP2 toepassen en '-T8048 -T9024 -T1236 -T1117 -T1118' toevoegen aan de opstartparameterlijst van SQL Server.
Raadpleeg het onderwerp DBCC TRACEON - Trace Flags (Transact-SQL) in SQL Server Books Online voor algemene informatie over het gebruik van traceringsvlagmen.
Meer informatie over het aantal processors, DE NUMA-configuratie, enzovoort vindt u in het foutenlogboek van SQL Server weergeven in SQL Server Management Studio (SSMS).
Als u de versie van SQL Server wilt vinden, controleert u het volgende:
De versie en editie van SQL Server en de bijbehorende onderdelen bepalen
Verwijzingen
SQL Server-communitybronnen op belangrijke updates voor SQL Server
Van toepassing op
- SQL Server 2014 Enterprise
- SQL Server 2014 Enterprise Core
- SQL Server 2014 Business Intelligence
- SQL Server 2014 Developer
- SQL Server 2014 Standard
- SQL Server 2014 Web
- SQL Server 2014 Express
- SQL Server 2012 Business Intelligence
- SQL Server 2012 Developer
- SQL Server 2012 Enterprise
- SQL Server 2012 Standard
- SQL Server 2012 Web
- SQL Server 2012 Enterprise Core