Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Gjelder for:✅ SQL-analyseendepunkt og Warehouse i Microsoft Fabric
Egendefinerte SQL-pooler gir administratorer mer kontroll over hvordan backend-beregningsressurser tildeles deres lager og SQL-analyseendepunkt i et arbeidsområde.
Fabric Data Warehouse tilbyr autonom arbeidsbelastningsstyring som fordeler beregningsressurser i interne "SQL-pooler" som skalerer uavhengig basert på etterspørsel.
Som standard er isolasjonsgrensene inntak (ikke-setningstyperSELECT ) og spørringsbehandling (SELECT setninger). Med tilpassede SQL-pooler kan administratorer:
- Endre antall isolasjonsgrenser (legg til flere tilpassede SQL-pooler).
- Lag applikasjonsspesifikke tilpassede arbeidsbelastningsklassifiseringer.
- Kontroller ressursallokeringen av hver pool via en maks ressursprosent.
Brukstilfeller for tilpassede SQL-pooler
Tilpassede SQL-pooler har to hovedbruksområder: å beskytte arbeidsbelastninger mot ressurskonkurranse, og å beskytte mot Fabric-kapasitetsbegrensning ved høyt forbruk.
Konkurrerende arbeidsbelastninger med de autonome arbeidsmengdepoolene
Dette scenariet gjelder når ulike arbeidsbelastninger konkurrerer om ressurser, noe som fører til at kritiske arbeidsbelastninger bommer på ytelsesmålene.
Eksempelscenario
- En enterprise-rapporteringsarbeidsbelastning presterer suboptimalt når ad hoc brukerforespørsler kjøres fra SQL-spørringseditoren i Fabric-portalen.
Anbefalt tilnærming
- Del disse arbeidsbelastningene over to separate tilpassede SQL-pooler.
- Alloker en større prosentandel av ressursene til poolen som betjener bedriftsrapporteringsapplikasjonen, slik at flere ressurser er tilgjengelige for den forretningskritiske applikasjonen.
Kapasitetsbegrensning på grunn av høyt forbruk
Dette scenariet gjelder når høyt Fabric-kapasitetsforbruk fører til throttling som påvirker den totale lagerytelsen.
Eksempelscenario
- Flere analysearbeidsbelastninger bruker et høyt antall Fabric-kapasitetsenheter (CU-er).
Anbefalt tilnærming
- Reduser den totale ressursprosenten som er tildelt det berørte lageret.
- Overvåk om denne endringen reduserer spørringsbegrensning og forbedrer den totale ytelsen.
Forskjeller mellom autonom arbeidsbelastningshåndtering og tilpassede SQL-pooler
| Emne | Autonom arbeidsbelastningsstyring | Egendefinerte SQL-pooler |
|---|---|---|
| Konfigurasjon | Ingen (rett ut av esken) | - Webgrensesnitt - API-er |
| Tillatelser | Ikke tilgjengelig | Arbeidsområdeadministrator |
| Omfang | Arbeidsområde - inkluderer både lager- og SQL-analyseendepunkt | Arbeidsområde - inkluderer både lager- og SQL-analyseendepunkt |
| Klassifiseringsmetode | Setningstype (SELECT eller annet) |
- Applikasjonsnavn - Applikasjonsnavn regulært uttrykk |
| Måleenhet | Ikke tilgjengelig | Prosentandel av totale backend-noder |
| SQL-pooler |
SELECT eller andre |
Brukerdefinert tildeling |
| Kapasitet som kan sprekke | Managed by Fabric (opptil 12x per SQL-pool, 24x totalt) | Brukerdefinert basert på prosentandel av tildelte backend-noder. Den totale mengden ressurser er fortsatt 24x. |
Kapasitet som kan sprekke
Egendefinerte SQL-pooler gjør det mulig for en administrator å konfigurere maksimal ressursprosent som mengden beregningsressurser som kan allokeres. Bursting-faktoren for kapasitets-SKU-størrelsen vil bli anvendt og brukt av prosentandelen som er oppgitt for hver pool.
Klassifiserere
En klassifisator er en attributt til en SQL-forespørsel som informerer systemet om hvordan det skal rute til riktig SQL-pool.
Fabric Data Warehouse tilbyr tre måter å klassifisere forespørsler på:
| Klassifikatortype | Beskrivelse | Konfigurasjon |
|---|---|---|
| Utsagnstype | Klassifiserer forespørsler i enten SELECT (spørring) eller ikke-SELECT (alle DML, DDL-setninger) |
Kun autonom arbeidsbelastningsstyring |
| Programnavn | - App- (eller programnavn) brukt i tilkoblingsstrengen når man kobler til Fabric Warehouse eller SQL Analytics Endpoint. - Støtter flere applikasjonsnavn per egendefinert SQL-pool - 128 tegn eller færre - Gjensidig utelukkende mellom tilpassede SQL-pooler |
Kun egendefinerte SQL-pooler |
| Applikasjonsnavn regex | - Regulært uttrykk brukt for å matche verdien for applikasjonsnavnet. - Kun første verdi i listen evalueres for regulært uttrykk |
Kun egendefinerte SQL-pooler |
Retningslinjer:
- Kun én klassifiseringstype kan brukes per arbeidsområde. Alle tilpassede SQL-pooler i et enkelt arbeidsområde må bruke samme klassifiserer.
- I tilfelle av en applikasjonsnavnsklassifiserer for regulære uttrykk, hvis en forespørsel oppfyller to eller flere klassifiseringer, er valget av egendefinert SQL-pool tilfeldig og det finnes ingen prioriteringskriterier.
Tillatelser
- Medlemmer av Administrator-arbeidsområdet kan aktivere eller deaktivere tilpassede SQL-pooler for et arbeidsområde.
- Medlemmer av Administrator-arbeidsområdet kan oppdatere de tilpassede SQL-poolkonfigurasjonene.
Konfigurer tilpassede SQL-pooler
Du kan konfigurere tilpassede SQL-pooler i Fabric Data Warehouse i Fabric-portalen eller gjennom API-kall.
- For et eksempel på konfigurasjon i Fabric-portalen, se Konfigurer tilpassede SQL-pooler i Fabric-portalen.
- For et eksempel på bruk av SQL Pools REST API, se Hvordan konfigurere egendefinerte SQL-pooler ved å bruke Fabric REST API.
Skjerm
Du kan se applikasjonsnavnet og SQL-poolen som ble registrert for en spørring i feltene program_namesql_pool_name i systemvisningen queryinsights.exec_requests_history .
Du kan bruke som program_name applikasjonsnavn i en klassifisator, eller i et regulært uttrykksmønster for en applikasjonsnavnsklassifikator.
For eksempel, for å finne alle og program_name tilsvarende sql_pool_name i nyere historie:
SELECT DISTINCT
program_name
,sql_pool_name
FROM queryinsights.exec_requests_history;
Du kan identifisere hvilke SQL-pooler som er under press ved å spørre visningen queryinsights.sql_pool_insights .
For eksempel, finn perioder hvor et basseng har vært under press den siste uken.
SELECT [timestamp]
,sql_pool_name
,max_resource_percentage
,is_pool_under_pressure
FROM queryinsights.sql_pool_insights
WHERE is_pool_under_pressure = 1
AND [timestamp] > DATEADD(WEEK, -1, GETDATE())
ORDER BY [timestamp] DESC, sql_pool_name;
For å aggregere program_name verdier etter noen spørringskostnadsmålinger, kan du bruke følgende spørring:
SELECT
program_name,
sql_pool_name,
[CPU] = SUM(allocated_cpu_time_ms),
[Disk] = SUM(data_scanned_disk_mb),
[Memory] = SUM(data_scanned_memory_mb),
[Remote storage] = SUM(data_scanned_remote_storage_mb)
FROM queryinsights.exec_requests_history
GROUP BY program_name, sql_pool_name
ORDER BY [CPU] desc, [Disk] desc, [Memory] desc, [Remote storage] desc;
Begrensninger
- Et arbeidsområde må inneholde ett eller flere lagre eller SQL-analyseendepunkter før API-ene kan kjøres.
- Du kan lage opptil åtte tilpassede SQL-pooler per arbeidsområde.
- Når en tilpasset SQL-pool fjernes mens en spørring kjører i poolen, vil spørringen feile med en melding om at
Request to perform an external distributed computation has failed with error "Query canceled by user."Endring av en tilpasset SQL-pool ikke forårsaker spørringsfeil.
Endringer i stoffkapasitet
Hvert arbeidsområde har en kapasitet med tilhørende kapasitetsenheter (CU), basert på hvilken SKU du kjøper. Den burstbare kapasiteten til tilpassede SQL-pooler avhenger av SKU-størrelsen. Så når du endrer kapasiteten, påvirker du maksimal mengde ressurser for hver egendefinert SQL-pool.
Når du endrer kapasitets-SKU-størrelsen eller tildeler en annen kapasitet til et arbeidsområde, skalerer tilpassede SQL-pooler automatisk til den nye SKU-størrelsen hvis de er aktivert.
Hvis nedskalering tvinger en SQL-pool til null tildelte noder, vises følgende feil under kjøring: "Den tildelte SQL-poolen for denne spørringen har ingen ressurser og må konfigureres på nytt." En administrator må konfigurere tilpassede SQL-pooler på nytt for å fjerne denne feilen.