Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
Tento článok obsahuje dôležité kroky na optimalizáciu výkonu zdrojovej databázy a zrkadlenej databázy zo servera SQL Server v službe Microsoft Fabric.
Ovládanie výkonu skenovania
Keď je povolené zrkadlenie tabuliek v databáze, proces kontroly pravidelne zachytáva zmeny zberom denníka transakcií. Tento proces začína na LSN najstaršej nereplikovanej potvrdenej transakcie a skenuje ďalšie N-1 replikované transakcie, kde N predstavuje počet transakcií zadaný pomocou parametra @maxtrans v sys.sp_change_feed_configure_parameters. Hodnota maxtrans parametra označuje maximálny počet transakcií, ktoré sa majú spracovať v každom cykle kontroly.
V situáciách, keď je latencia skenovania veľmi vysoká, môže byť výhodné použiť vyššiu maxtrans hodnotu, zatiaľ čo v prípadoch zahŕňajúcich riedko replikované alebo relatívne veľké transakcie môže byť vhodnejšie nižšie nastavenie maxtrans . Funkcia dynamického maxima transakcií zefektívňuje tento proces automatickým určením optimálnej maxtrans hodnoty počas každej kontroly na základe ďalších faktorov, ako je využitie protokolu, latencia kontroly a pracovné zaťaženie. Keď je povolené dynamicmaxtrans nastavenie zmeny posuvu, Fabric dynamicky upravuje parameter maxtrans, čím zaisťuje optimálny výkon skenovania.
Overte nastavenie funkcie dynamických maximálnych transakcií pomocou sys.sp_help_change_feed_settings alebo použite repl_logscan_dynamic_maxtrans rozšírenú udalosť na monitorovanie hodnôt modulu runtime pre každú kontrolu.
Ak chcete povoliť funkciu dynamických maximálnych transakcií, nastavte @dynamicmaxtrans na 1. Napríklad:
USE <Mirrored database name>
GO
EXECUTE sys.sp_change_feed_configure_parameters
@dynamicmaxtrans=1;
Ak chcete upraviť maximálnu a dolnú hranicu pre funkciu dynamických maximálnych transakcií, použite @maxtrans a @dynamicmaxtranslowerbound . Napríklad:
USE <Mirrored database name>
GO
EXECUTE sys.sp_change_feed_configure_parameters
@dynamicmaxtrans=1
, @dynamicmaxtranslowerbound=5
, @maxtrans=5000;
Úvahy o nastavení dynamických maximálnych transakcií
Funkcia dynamického maxima transakcií je v SQL Server 2025 predvolene povolená. Funkcia dynamického maximálneho počtu transakcií je povolená a nemožno ju spravovať ani zakázať v Azure SQL Database a Azure SQL Managed Instance.
Keď je povolená funkcia dynamic maxtrans, zrkadlenie spracuje až 10 000 transakcií (predvolene) alebo nakonfigurovanú maximálnu hodnotu transakcií počas fázy kontroly protokolov. Aby táto fáza neprebiehala príliš dlho, vynucuje sa trojminútový časový limit. Všetky transakcie spracované pred uplynutím časového limitu sa zverejnia do zrkadlenej databázy a zostávajúce transakcie sa zaznamenajú počas ďalšej kontroly.
Optimálne hodnoty pre funkciu dynamických maximálnych transakcií sa líšia v závislosti od vyťaženia, latencie a ďalších faktorov. Zvážte zapnutie funkcie dynamic maxtrans, keď je latencia vyššia, ako je požadovaná a transaction_count v každej dávke je väčšia ako nastavenie dolnej hranice (predvolene 200). To je možné monitorovať pomocou stĺpca latency v alebo sys.dm_change_feed_log_scan_sessions pomocou rozšírenej udalosti repl_logscan_dynamic_maxtrans , aby ste zistili, či sa current_maxtrans množina dostane maxtrans . Ak je latencia stále vysoká, zvážte zvýšenie hornej hranice maxtrans pomocou sys.sp_help_change_feed_settings.
Použite rozšírenú udalosť repl_logscan_dynamic_maxtrans na monitorovanie, či sa časové limity vyskytujú často. Pole prev_phase2_scan_termination_reason bude mať hodnotu LogScanTerminationReason_MaxScanDurationReached , keď dôjde k vypršaniu časového limitu kontroly. Zvážte zníženie maxtrans alebo vypnutie dynamického maxtrans pomocou sys.sp_help_change_feed_settings , ak si všimnete časté časové limity.
Správca prostriedkov pre zrkadlenie SQL Servera
V SQL Server 2025 môžete vytvoriť resource governor pool na správu a obmedzenie záťaže Fabric mirroringu na vašom SQL Serveri. Správcu zdrojov môžete použiť na spravovanie spotreby zdrojov databázového nástroja a presadzovanie politík pre vyťaženia používateľov. Správca zdrojov umožňuje rezervovať alebo obmedziť rôzne serverové prostriedky vrátane množstva procesora, pamäte a fyzických vstupno-výstupných operácií, ktoré môžu vyťaženia používateľských dotazov používať. Týmto spôsobom môžete chrániť svoje primárne obchodné vyťaženie pred tlakom zhromažďovania údajov informačného kanála zmien služby Zrkadlenie látok. Ďalšie informácie nájdete v téme Správca zdrojov.
Ak chcete začať konfigurovať skupiny vyťažení v SQL Server 2025 pre zrkadlenie v technológii Fabric, použite nasledujúci vzorový skript a pokyny.
- Môžete si vybrať ľubovoľný názov pre
RESOURCE POOL. - Tento vzorový skript konfiguruje limit pre požadované percento procesora, aby sa umožnilo zrkadlenie štruktúry. Nasledujúca vzorka používa
5050 percent. Táto hodnota je maximálna priemerná šírka pásma procesora, ktorú môžu prijať všetky požiadavky vo fonde zdrojov, keď dôjde k kolizii procesora. Použite nižšiu hodnotu na ďalšie obmedzenie zrkadlenia látky. - Názvy
WORKLOAD GROUPsa musia zhodovať s hodnotami v ukážkovom skripte. Každá skupina pracovného zaťaženia je určená pre konkrétnu fázu zrkadlenia. Každá skupina vyťaženia môže byť v rovnakom alebo inom fonde v závislosti od toho, ako plánujete fondy a vyťaženia správcu zdrojov. - Pred prvou konfiguráciou správcu zdrojov v inštancii SQL Server si pozorne prečítajte dokumentáciu správcu prostriedkov, príklady a najvhodnejšie postupy.
--Create resource pool for Fabric mirroring
CREATE RESOURCE POOL [ChangeFeedPool] WITH (MAX_CPU_PERCENT = 50);
--Create workload groups for Fabric mirroring. Do not modify.
CREATE WORKLOAD GROUP [x_ms_reserved_changefeed_snapshot_group] USING [ChangeFeedPool];
CREATE WORKLOAD GROUP [x_ms_reserved_changefeed_capture_group] USING [ChangeFeedPool];
CREATE WORKLOAD GROUP [x_ms_reserved_changefeed_publish_group] USING [ChangeFeedPool];
CREATE WORKLOAD GROUP [x_ms_reserved_changefeed_commit_group] USING [ChangeFeedPool];
CREATE WORKLOAD GROUP [x_ms_reserved_changefeed_notification_group] USING [ChangeFeedPool];
Ak chcete použiť zmeny a povoliť správcu zdrojov ako zvyčajne:
ALTER RESOURCE GOVERNOR RECONFIGURE