Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: SQL Server 2025 (17.x) Preview
Gebruik de max ucs send boxcars
serverconfiguratieoptie om het maximum aantal UCS-boxcars te beheren dat kan worden gebruikt om berichten van de primaire naar de secundaire replica te verzenden. Deze optie is handig voor het beheren van de gegevensstroom tussen replica's in een AlwaysOn-beschikbaarheidsgroep via een WAN (Wide Area Network).
Opmerking
De max ucs send boxcars
serverconfiguratieoptie is beschikbaar vanaf SQL Server 2025 (17.x) Preview.
Overzicht
Het UCS-protocol (Universal Communication Service) wordt gebruikt door SQL Server AlwaysOn-beschikbaarheidsgroepen om logboekblokken tussen primaire en secundaire replica's te verzenden. UCS bepaalt of de secundaire replica achter de primaire replica valt door de tijd te meten die de primaire replica nodig heeft om een bevestiging te ontvangen dat de wijziging is verankerd op de secundaire replica.
Terwijl UCS communiceert tussen eindpunten, wordt stroombeheer ingevoerd wanneer wordt gedetecteerd dat de secundaire replica niet kan bijhouden met het toepassen van wijzigingen van de primaire replica. Dit proces werkt goed voor snelle lokale netwerken waarbij netwerkvertraging geen bijdragende factor is, omdat het grootste deel van de vertraging wordt toegeschreven aan de verwerking op de secundaire replica. Wanneer UCS echter communiceert via een Wide Area Network (WAN) met een aanzienlijke netwerkvertraging, zoals in geo-replicatie, kan de verhoogde netwerklatentie ertoe leiden dat de secundaire replica achterloopt. In dit scenario is stroombeheer inefficiƫnt.
Om dit scenario voor netwerkvertraging aan te pakken, moet UCS het invoeren van stroombeheer uitstellen. Dit wordt bereikt door de limiet voor het aantal UCS-boxcars te wijzigen dat kan worden gebruikt om berichten van de primaire naar de secundaire replica te verzenden. UCS-pakketten worden gegroepeerd in een boxcar om een efficiƫntere overdracht via een netwerk mogelijk te maken. Wanneer u het maximum aantal UCS-boxcars verhoogt, kunnen er meer pakketten tegelijk worden overgedragen, waardoor op zijn beurt het invoeren van stroombeheer wordt uitgesteld.
UCS-boxcars overschrijven met het Windows-register
Vanaf SQL Server 2022 (16.x) kunt u het aantal UCS-boxcars beheren door een registerwaarde te maken die SQL Server tijdens de initialisatie leest.
- Registersleutel:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL16.<instance_name>\MSSQLServer\ServiceBroker
- Waardenaam:
MaxPendingSend
- Waardetype:
REG_SZ
Belangrijk
U moet de waarde maken als REG_SZ
en niet REG_DWORD
, omdat SQL Server het type controleert en de waarde negeert als dit niet het verwachte type is.
Dit mechanisme heeft verschillende nadelen:
Databasebeheerders hebben mogelijk geen toegang tot het register, op dezelfde computer als het SQL Server-exemplaar of op afstand.
Databasebeheerders en systeembeheerders zijn meestal twee verschillende rollen met verschillende sets verantwoordelijkheden en daarom verschillende sets machtigingen.
UCS-boxcars overschrijven met sp_configure
Vanaf SQL Server 2025 (17.x) Preview kunt u het aantal UCS-boxcars beheren met de max ucs send boxcars
serverconfiguratieoptie, met de volgende overwegingen:
Deze instelling is een geavanceerde
sp_configure
optie.De minimumwaarde is
256
(de standaardwaarde) en de maximumwaarde is2048
. U kunt echter een waarde van0
gebruiken om de waarde terug te zetten naar de standaard.Deze configuratieoptie heeft voorrang op de registerinstelling.
Deze instelling wordt van kracht nadat een SQL Server-exemplaar opnieuw is opgestart.
USE master;
GO
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure `max ucs send boxcars`, 1234;
RECONFIGURE;
GO
Volgorde van prioriteit
In de volgende tabel ziet u voorbeelden van prioriteit, afhankelijk van het gebruikte override-mechanisme.
Regel |
sp_configure waarde |
Registerwaarde | Effectieve waarde |
---|---|---|---|
max ucs send boxcars waarden die niet standaard zijn (dus niet gelijk aan 256) hebben voorrang op de registerwaarden. |
1024 | 2048 | 1024 |
Als max ucs send boxcars deze is ingesteld op de standaardwaarde van 256, wordt de registerwaarde van kracht. |
256 | 2048 | 2048 |
Als max ucs send boxcars wordt ingesteld op 0 , wordt de standaardwaarde gebruikt, die voorrang heeft boven de registerwaarde. Op deze manier kunnen databasebeheerders de standaardwaarde nog steeds toepassen als databasebeheerders niet gemachtigd zijn om het register te bewerken. |
0 | 2048 | 256 |
Opmerkingen
U moet RECONFIGURE
uitvoeren nadat u de max ucs send boxcars
serverconfiguratieoptie hebt ingesteld om de nieuwe configuratie toe te passen. De instelling wordt pas van kracht nadat het SQL Server-exemplaar opnieuw is opgestart.
Wanneer een niet-standaardwaarde van kracht is voor het aantal UCS-boxcars, registreert SQL Server een informatiebericht in het foutenlogboek. Het informatiebericht bevat de effectieve waarde en de bron van overschrijving: sp_configure
of registry
.
2024-10-08 13:38:26.11 Server UCS transport default sending capacity is overridden with the value of 1234. Override source: sp_configure. This is an informational message only. No user action is required.
De interne foutcode voor het bericht is 33338
. Het bericht wordt niet geregistreerd als de standaardwaarde is ingesteld.