gebeurtenis
31 mrt, 23 - 2 apr, 23
De grootste SQL-, Fabric- en Power BI-leerevenement. 31 maart – 2 april. Gebruik code FABINSIDER om $ 400 te besparen.
Zorg dat u zich vandaag nog registreertDeze browser wordt niet meer ondersteund.
Upgrade naar Microsoft Edge om te profiteren van de nieuwste functies, beveiligingsupdates en technische ondersteuning.
van toepassing op:SQL Server-
In dit artikel worden de limieten voor rekencapaciteit voor edities van SQL Server beschreven en hoe deze verschillen in fysieke en gevirtualiseerde omgevingen met gelijktijdige MULTITHREADING-processors (SMT). Op Intel-CPU's wordt SMT Hyper-Threading-genoemd.
In deze tabel worden de notaties in het voorgaande diagram beschreven:
Waarde | Beschrijving |
---|---|
0..1 | Nul of één |
1 | Precies één |
1..* | Een of meer |
0..* | Nul of meer |
1..2 | Een of twee |
Om verder uit te werken:
De volgende definities zijn van toepassing op de termen die in dit artikel worden gebruikt:
Een thread of logische processor is één logische berekeneenheid vanuit het perspectief van SQL Server, het besturingssysteem, een applicatie of een stuurprogramma.
Een kern is een processoreenheid. Het kan bestaan uit een of meer logische processors.
Een fysieke processor kan bestaan uit een of meer kernen. Een fysieke processor is hetzelfde als een processorpakket of een socket.
U kunt problemen ondervinden, zoals stackdumps op servers met meer dan 64 logische processors per NUMA-knooppunt. Een BIOS- of firmwareconfiguratie kan het aantal logische kernen dat aan het besturingssysteem wordt gepresenteerd, verminderen tot maximaal 64 logische processors per NUMA-knooppunt.
Waarschuwing
In SQL Server 2022 (16.x) cumulatieve update 11 is een belangrijke wijziging geïntroduceerd, waarbij de database-engine niet start als er meer dan 64 logische kernen per NUMA-knooppunt worden gedetecteerd.
Vanaf SQL Server 2022 (16.x) Cumulatieve update 15 produceert Setup een waarschuwing dat deze configuratie niet wordt ondersteund en dat de Database Engine-service wordt gestopt en uitgeschakeld. De waarschuwing wordt ook opgenomen in de installatielogboeken.
U kunt het aantal logische kernen per NUMA-knooppunt verminderen in een virtuele Azure-machinedoor SMT uit te schakelen. Voor bare-metal SQL Server-exemplaren kunt u het aantal logische kernen verminderen met opties voor sub-NUMA-clustering (SNC) of knooppunten per socket (NPS).
SQL Server heeft een ondersteunde limiet van 64 logische kernen per NUMA-knooppunt. In sommige gevallen kan de VM uit de Azure Mv3-serie deze limiet overschrijden, waardoor SQL Server niet kan worden gestart of kan worden uitgevoerd met verminderde prestaties. Als u SMT wilt uitschakelen, moet u de volgende wijzigingen aanbrengen met PowerShell- en de Register-editor (reg.exe
). Zorg ervoor dat u een back-up van het register maakt voordat u het bewerkt.
Controleer het aantal logische kernen. SMT is ingeschakeld als de verhouding 2:1 is (het aantal logische kernen is tweemaal het aantal kernen).
Get-CimInstance -ClassName Win32_Processor | Select-Object -Property "NumberOfCores", "NumberOfLogicalProcessors"
Schakel SMT uit met de volgende twee registerwijzigingen en start de VM vervolgens opnieuw op.
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverride /t REG_DWORD /d 8264 /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management" /v FeatureSettingsOverrideMask /t REG_DWORD /d 3 /f
Controleer nogmaals het aantal logische kernen. Het aantal logische kernen moet overeenkomen met het aantal kernen.
Get-CimInstance -ClassName Win32_Processor | Select-Object -Property "NumberOfCores", "NumberOfLogicalProcessors"
In de volgende secties wordt beschreven hoe u het aantal logische kernen kunt verminderen op bare-metal-exemplaren van SQL Server.
Op de derde, vierde en vijfde generatie Intel Xeon-CPU'skunt u sub-NUMA-clustering (SNC), voorheen Cluster-on-Die (CoD) inschakelen, wat resulteert in twee NUMA-domeinen binnen één fysieke socket.
Notitie
Intel Xeon-CPU's van de zesde generatie worden standaard geleverd met sub-NUMA-clustering (SNC2 of SNC3). In sommige CPU-modellen kan de standaard-SNC-configuratie leiden tot meer dan 64 logische processors per NUMA-knooppunt. Activeer de intel virtuele NUMA-functie in de BIOS/firmware, naast SNC2 of SNC3, voor deze CPU-modellen.
Configuratie-instelling | Beschrijving |
---|---|
SNC uitgeschakeld 1 | Schakelt sub-NUMA-clustering uit. |
SNC2 ingeschakeld 2 | Geeft twee NUMA-knooppunten per socket weer. |
SNC3 ingeschakeld 2 | Geeft drie NUMA-knooppunten per socket weer. |
Intel VirtualNuma ingeschakeld 3 | Hiermee maakt u meerdere virtuele knooppunten binnen één fysiek NUMA-knooppunt. |
1 Standaard voor INTEL Xeon-CPU's van de derde, vierde en vijfde generatie.
2 Standaard voor Intel Xeon-CPU's van de zesde generatie en hoger.
3 Alleen beschikbaar op Intel Xeon-CPU's van de zesde generatie en later. Gebruik deze instelling voor CPU's met een hoog kernaantal, waarbij het aantal logische processors per NUMA-knooppunt groter is dan 64 wanneer de SNC-standaardwaarden worden gebruikt.
Op AMD-CPU'skunt u verschillende opties voor knooppunten per socket (NPS) inschakelen.
Configuratie-instelling | Beschrijving |
---|---|
NPS0 |
In een systeem met dubbele sockets wordt NUMA weergegeven als één knooppunt met alle geheugenkanalen die zijn verdeeld over het knooppunt. |
NPS1 (standaard) |
Deze configuratie geeft één NUMA-knooppunt per socket weer. |
NPS2 |
Deze configuratie geeft twee NUMA-knooppunten per socket weer, vergelijkbaar met SNC. |
NPS4 |
Deze configuratie bevat vier NUMA-knooppunten per socket. |
Systemen met meer dan één fysieke processor of systemen met fysieke processors met meerdere kernen en/of SMT stellen het besturingssysteem in staat om meerdere taken tegelijk uit te voeren. Elke thread van uitvoering wordt weergegeven als een logische processor. Als uw computer bijvoorbeeld twee quad-coreprocessoren heeft waarvoor SMT is ingeschakeld en twee threads per kern, hebt u 16 logische processors: 2 processoren x 4 kernen per processor x 2 threads per kern. Het is de moeite waard om te noteren dat:
De rekencapaciteit van een logische processor van één thread van een SMT-kern is kleiner dan de rekencapaciteit van een logische processor van diezelfde kern met SMT uitgeschakeld.
De rekencapaciteit van de twee logische processors in de SMT-kern is groter dan de rekencapaciteit van dezelfde kern waarvoor SMT is uitgeschakeld.
Elke editie van SQL Server heeft twee limieten voor rekencapaciteit:
Een maximum aantal sockets (of fysieke processors of processorpakketten)
Een maximum aantal kernen zoals gerapporteerd door het besturingssysteem
Deze limieten zijn van toepassing op één exemplaar van SQL Server. Ze vertegenwoordigen de maximale rekencapaciteit die door één exemplaar wordt gebruikt. Ze beperken niet de server waarop het exemplaar kan worden geïmplementeerd. Het implementeren van meerdere exemplaren van SQL Server op dezelfde fysieke server is een efficiënte manier om de rekencapaciteit van een fysieke server te gebruiken met meer sockets en/of kernen dan de capaciteitslimieten toestaan.
De volgende tabel bevat de limieten voor de rekencapaciteit voor één exemplaar van elke editie van SQL Server:
SQL Server-editie | Maximale rekencapaciteit voor één exemplaar (SQL Server Database Engine) | Maximale rekencapaciteit voor één exemplaar (AS, RS) |
---|---|---|
Enterprise Edition: Licenties op basis van cores 1 | Maximum aantal besturingssysteem | Maximum aantal besturingssysteem |
Ontwikkelaar | Maximum aantal besturingssysteem | Maximum aantal besturingssysteem |
Standaard | Beperkt tot minder van 4 sockets of 24 kernen | Beperkt tot minder van 4 sockets of 24 kernen |
Uitdrukken | Beperkt tot minder van 1 socket of 4 kernen | Beperkt tot minder van 1 socket of 4 kernen |
1 Enterprise Edition met CAL-licenties (Server + Client Access License) is beperkt tot 20 kernen per SQL Server-exemplaar. (Deze licentie is niet beschikbaar voor nieuwe overeenkomsten.) Er gelden geen limieten onder het Core-model voor serverlicenties.
In een gevirtualiseerde omgeving is de limiet voor rekencapaciteit gebaseerd op het aantal logische processors, niet op kernen. De reden hiervoor is dat de processorarchitectuur niet zichtbaar is voor de gasttoepassingen.
Een server met vier sockets gevuld met quad-core processors en de mogelijkheid om twee SMT-threads per kern in te schakelen, bevat bijvoorbeeld 32 logische processors waarvoor SMT is ingeschakeld. Maar het bevat slechts 16 logische processors met SMT uitgeschakeld. Deze logische processors kunnen worden toegewezen aan virtuele machines op de server. De rekenbelasting van de virtuele machines op die logische processor wordt toegewezen aan een thread van uitvoering op de fysieke processor op de hostserver.
U kunt SMT uitschakelen wanneer de prestaties voor elke virtuele processor belangrijk zijn. U kunt SMT configureren met behulp van een BIOS-instelling voor de processor tijdens de BIOS-installatie, maar dit is meestal een bewerking met serverbereik die van invloed is op alle workloads die op de server worden uitgevoerd. U kunt overwegen workloads die worden uitgevoerd in gevirtualiseerde omgevingen te scheiden van workloads die baat hebben bij de SMT-prestatieverbeteringen in een fysieke besturingssysteemomgeving.
Wist u dat u zelf SQL-inhoud kunt bewerken? Als u dit doet, helpt u niet alleen onze documentatie te verbeteren, maar krijgt u ook erkenning als een bijdrager aan de pagina.
Zie Bijdragen aan sql Server-documentatie voor meer informatie
gebeurtenis
31 mrt, 23 - 2 apr, 23
De grootste SQL-, Fabric- en Power BI-leerevenement. 31 maart – 2 april. Gebruik code FABINSIDER om $ 400 te besparen.
Zorg dat u zich vandaag nog registreertTraining
Module
SQL Server-resources configureren voor optimale prestaties - Training
SQL Server-resources configureren voor optimale prestaties
Certificering
Microsoft Certified: Azure Database Administrator Associate - Certifications
Beheer een SQL Server-databaseinfrastructuur voor cloud-, on-premises en hybride relationele databases met behulp van de relationele Microsoft PaaS-databaseaanbiedingen.
Documentatie
sys.dm_db_persisted_sku_features (Transact-SQL) - SQL Server
sys.dm_db_persisted_sku_features (Transact-SQL)
Ondersteuning voor netwerkdatabasebestanden - SQL Server
In dit artikel wordt ondersteuning beschreven voor netwerkdatabasebestanden in SQL Server en hoe u SQL Server configureert voor het opslaan van een database op een netwerkserver of op een NAS-opslagserver.