kontrolní seznam: osvědčené postupy pro SQL Server na virtuálních počítačích Azure
PLATÍ PRO:
SQL Server na virtuálním počítači Azure
tento článek poskytuje rychlý kontrolní seznam jako řadu osvědčených postupů a pokynů k optimalizaci výkonu SQL Server v Azure Virtual Machines (virtuálních počítačích).
podrobné informace najdete v dalších článcích v této sérii: kontrolní seznam, velikost VM, Storage, zabezpečení, konfigurace HADR, shromáždění standardních hodnot.
povolte SQL Assessment pro SQL Server na virtuálních počítačích Azure a vaše SQL Server se vyhodnotí SQL na základě známých osvědčených postupů a výsledků na stránce Azure Portal správy virtuálních počítačů .
Přehled
při spouštění SQL Server v Azure Virtual Machines dál používejte stejné možnosti ladění výkonu databáze, které platí pro SQL Server v místních serverových prostředích. Výkon relační databáze ve veřejném cloudu je ale závislý na mnoha faktorech, třeba na velikosti virtuálního počítače a na konfiguraci datových disků.
Mezi optimalizací a optimalizací výkonu je typicky kompromis. tato řada osvědčených postupů pro výkon se zaměřuje na získání nejlepšího výkonu pro SQL Server v Azure Virtual Machines. Pokud je vaše úloha méně náročná, možná nebudete potřebovat při každé doporučené optimalizaci. Při hodnocení těchto doporučení Vezměte v úvahu požadavky na výkon, náklady a vzory úloh.
Velikost virtuálního počítače
následuje rychlý kontrolní seznam osvědčených postupů pro velikost virtuálního počítače pro spuštění SQL Server na virtuálním počítači Azure:
- Používejte velikosti virtuálních počítačů 4 nebo více vCPU, jako je Standard_M8-4ms, E4ds_v4nebo DS12_v2 nebo vyšší.
- Úlohy SQL Serveru budou dosahovat nejlepšího výkonu, když použijete virtuální počítač optimalizovaný pro paměť.
- DSv2 11-15, Edsv4 Series, M-a Mv2- Series nabízejí optimální poměr mezi pamětí a Vcore potřebný pro úlohy OLTP. Oba virtuální počítače řady M nabízejí nejvyšší poměr paměti k vCore, který je potřeba pro důležité úlohy, a je taky ideální pro úlohy datového skladu.
- Zvažte vyšší poměr paměti k vCore pro důležité úlohy a úlohy datového skladu.
- použijte image Azure Virtual Machine marketplace jako nastavení SQL Server a možnosti úložiště jsou nakonfigurovány pro optimální výkon SQL Server.
- Shromážděte charakteristiky výkonu cílového zatížení a použijte je k určení vhodné velikosti virtuálních počítačů pro vaši firmu.
- použijte nástroj pro doporučení Data Pomocník s migrací SKU k vyhledání správné velikosti virtuálního počítače pro stávající úlohy SQL Server.
Další informace najdete v tématu komplexní osvědčené postupy pro velikost virtuálního počítače.
Storage
následuje rychlý kontrolní seznam osvědčených postupů konfigurace úložiště pro spuštění SQL Server na virtuálním počítači Azure:
- před volbou typu disku sledujte aplikaci a určete požadavky na šířku pásma a latenci úložiště pro SQL Server dat, protokolů a souborů tempdb.
- Pokud chcete optimalizovat výkon úložiště, naplánujte si nejvyšší dostupný počet vstupně-výstupních operací a používejte ukládání dat do mezipaměti jako funkci výkonu pro čtení dat, zatímco se vyhnete virtuálnímu počítači a diskům capping/omezování.
- Data, protokoly a soubory tempdb umístěte na samostatné jednotky.
- Pro datovou jednotku používejte jenom disky Premium P30 a P40 , abyste zajistili dostupnost podpory mezipaměti.
- Pro plán jednotky protokolů pro kapacitu a výkon testování oproti nákladům při vyhodnocování P30 disků úrovně Premium P80.
- Pokud se vyžaduje latence úložiště v milisekundách, použijte pro protokol transakcí Azure Ultra disks .
- Pro nasazení virtuálních počítačů řady M-Series zvažte použití akcelerátor zápisu přes disky Azure Ultra.
- po výběru optimální velikosti virtuálního počítače umístěte databázi tempdb na místní dočasný disk SSD (výchozí
D:\) pro většinu SQL Server úloh.- Pokud kapacita místního disku není pro databázi tempdb dostatečná, zvažte možnost navýšení velikosti virtuálního počítače. Další informace najdete v tématu zásady ukládání do mezipaměti datových souborů .
- proložení více datových disků Azure pomocí Prostory úložiště pro zvýšení šířky pásma vstupně-výstupních operací v cílovém virtuálním počítači a omezení propustnosti.
- Nastavte ukládání hostitelů do mezipaměti pro disky datových souborů jen pro čtení.
- Nastavte mezipaměť hostitele na hodnotu žádné pro soubory protokolu.
- nepovolujte ukládání do mezipaměti pro čtení a zápis na discích, které obsahují soubory SQL Server.
- před změnou nastavení mezipaměti disku vždycky zastavte službu SQL Server.
- Pro úlohy vývoje a testování zvažte použití služby Storage úrovně Standard. Pro produkční úlohy se nedoporučuje používat HDD úrovně Standard/SDD.
- Diskové shlukování na základě kreditu (P1-P20) by se mělo považovat jenom za úlohy pro vývoj a testování a systémy oddělení.
- zřídí účet úložiště ve stejné oblasti jako virtuální počítač SQL Server.
- Zakažte geograficky redundantní úložiště Azure (geografickou replikaci) a použijte LRS (místní redundantní úložiště) v účtu úložiště.
- Naformátujte datový disk tak, aby používal velikost alokační jednotky 64-KB pro všechny datové soubory umístěné na jiné jednotce než na dočasném
D:\disku (ve výchozím nastavení je 4 KB). SQL Server virtuální počítače nasazené prostřednictvím Azure Marketplace se dodávají s datovými disky formátovanými velikostí alokační jednotky a prokládání pro fond úložiště s nastavením 64 KB.
další informace najdete v tématu věnovaném kompletním osvědčeným postupům Storage.
SQL Server funkce
následuje rychlý kontrolní seznam osvědčených postupů pro SQL Server nastavení konfigurace při spuštění instancí SQL Server na virtuálním počítači Azure v produkčním prostředí:
- V případě potřeby povolte kompresi stránky databáze .
- Povolte komprimaci zálohování.
- Povolí okamžitou inicializaci souborů pro datové soubory.
- Omezte automatické zvětšování databáze.
- Zakáže automaticky zmenšení databáze.
- Zakáže v databázi zavřít.
- Přesuňte všechny databáze na datové disky, včetně systémových databází.
- přesuňte protokoly chyb SQL Server a trasovací soubory do datových disků.
- Nakonfigurujte výchozí zálohu a umístění souborů databáze.
- nastavte maximální SQL Server paměťového limitu pro ponechání dostatečné paměti pro operační systém. (Využití \ bajtů k monitorování stavu paměti operačního systému).
- Povolte zamykací stránky v paměti.
- Povolte optimalizaci pro úlohy ad hoc pro rozsáhlá prostředí OLTP.
- Vyhodnoťte a nainstalujte nejnovější kumulativní aktualizace pro nainstalované verze SQL Server.
- povolte úložiště dotazů na všech provozních SQL Server databázích podle osvědčených postupů.
- Povolí Automatické ladění důležitých aplikačních databází.
- Zajistěte, aby byly dodrženy všechny osvědčené postupy databáze tempdb .
- Umístit databázi tempdb na dočasný D:/ disky.
- Použijte doporučený počet souborůs použitím více datových souborů databáze tempdb počínaje jedním souborem na jádro, až osm souborů.
- naplánujte úlohy agenta SQL Server, aby se spouštěly DBCC CHECKDB, reorganizovat index, indexovat znovu sestavenía aktualizovat statistické úlohy.
- monitorujte a spravujte stav a velikost souboru protokolu transakcíSQL Server.
- využijte všechny nové funkce SQL Server dostupné pro používané verze.
- Pamatujte na rozdíly v podporovaných funkcích mezi edicemi, které zvažujete nasazovat.
Funkce Azure
toto je rychlý kontrolní seznam osvědčených postupů pro konkrétní pokyny pro azure při spuštění SQL Server na virtuálním počítači Azure:
- zaregistrujte se pomocí rozšíření agenta SQL IaaS , abyste mohli odemknout řadu výhod funkcí.
- využijte nejlepší strategii zálohování a obnovení pro vaše SQL Server úlohy.
- Ujistěte se, že je na virtuálním počítači zapnuté urychlené síťové služby .
- Využijte Microsoft Defender pro Cloud ke zlepšení celkového stav zabezpečení nasazení virtuálních počítačů.
- využijte microsoft defender pro cloud, který je integrovaný s microsoft defenderem pro cloud, pro konkrétní SQL Server pokrytí virtuálních počítačů , včetně posouzení ohrožení zabezpečení a přístupu za běhu, který omezuje službu útoku a současně umožňuje oprávněným uživatelům přístup k virtuálním počítačům v případě potřeby. další informace najdete v tématu posouzení ohrožení zabezpečení, povolení posouzení ohrožení zabezpečení pro SQL Server virtuální počítače a přístup za běhu.
- Využijte Azure Advisor k řešení výkonu, nákladů, spolehlivosti, provozní kvalitya doporučení zabezpečení.
- využijte Azure Monitor ke shromažďování, analýze a práci s daty telemetrie z vašeho SQL Server prostředí. To zahrnuje identifikaci potíží s infrastrukturou pro virtuální počítače a data monitorování pomocí Log Analytics pro hlubší diagnostiku.
- Povolí automatické vypnutí pro vývojová a testovací prostředí.
- implementace řešení vysoké dostupnosti a zotavení po havárii (HADR), které vyhovuje vaší provozní kontinuitě sla, najdete v možnostech možností HADR , které jsou k dispozici pro SQL Server na virtuálních počítačích Azure.
- K vyhodnocení stavu a historie prostředků použijte Azure Portal (podpora a řešení potíží); v případě potřeby odešlete nové žádosti o podporu.
Konfigurace HADR
funkce pro vysokou dostupnost a zotavení po havárii (HADR), jako je skupina dostupnosti Always On a instance clusteru s podporou převzetí služeb při selhání , spoléhají na Windows základní technologii clusteru s podporou převzetí služeb při selhání . Projděte si osvědčené postupy pro úpravu nastavení HADR pro lepší podporu cloudového prostředí.
pro Windows cluster zvažte tyto osvědčené postupy:
- nasaďte SQL Server virtuální počítače do několika podsítí, kdykoli je to možné, abyste se vyhnuli závislosti na Azure Load Balancer nebo názvu distribuované sítě (DNN) ke směrování provozu do vašeho řešení HADR.
- Změňte cluster na méně agresivní parametry, aby nedocházelo k neočekávaným výpadkům při přechodných chybách sítě nebo údržbě platforem Azure. Další informace najdete v tématu Nastavení prezenčního signálu a prahové hodnoty. pro Windows Server 2012 a novější použijte následující doporučené hodnoty:
- SameSubnetDelay: 1 sekunda
- SameSubnetThreshold: 40 prezenční signály
- CrossSubnetDelay: 1 sekunda
- CrossSubnetThreshold: 40 prezenční signály
- Umístěte virtuální počítače do skupiny dostupnosti nebo do různých zón dostupnosti. Další informace najdete v tématu Nastavení dostupnosti virtuálního počítače.
- Použijte jednu síťovou kartu na jeden uzel clusteru a jednu podsíť.
- Nakonfigurujte hlasovací funkce kvora clusteru tak, aby používala 3 nebo více lichých hlasů. Nepřiřazujte hlasy do oblastí DR.
- Pečlivě Sledujte omezení prostředků , aby se předešlo neočekávanému restartování nebo převzetí služeb při selhání kvůli omezením prostředků.
- ujistěte se, že operační systém, ovladače a SQL Server jsou na nejnovějších sestaveních.
- optimalizujte výkon pro SQL Server na virtuálních počítačích Azure. Další informace najdete v dalších částech tohoto článku.
- Snižte nebo rozprostřete zatížení, aby se předešlo omezením prostředků.
- Přejděte na virtuální počítač nebo disk, který má vyšší omezení, aby nedocházelo k omezením.
pro vaši SQL Server skupinu dostupnosti nebo instanci clusteru s podporou převzetí služeb při selhání zvažte tyto osvědčené postupy:
- Pokud se setkáváte s častými neočekávanými chybami, postupujte podle osvědčených postupů pro výkon popsaných ve zbývající části tohoto článku.
- pokud optimalizace výkonu virtuálního počítače SQL Server nevyřeší vaše neočekávané převzetí služeb při selhání, zvažte požadavků monitorování skupiny dostupnosti nebo instance clusteru s podporou převzetí služeb při selhání. Nicméně to nemusí řešit podkladový zdroj problému a může maskovat příznaky tím, že snižuje pravděpodobnost selhání. Je možné, že stále budete muset prozkoumat základní hlavní příčinu a vyřešit ji. pro Windows Server 2012 nebo vyšší použijte následující doporučené hodnoty:
- Časový limit zapůjčení: pomocí této rovnice můžete vypočítat maximální hodnotu doby zapůjčení:
Lease timeout < (2 * SameSubnetThreshold * SameSubnetDelay).
Začněte od 40 sekund. Pokud jste používali odlehčenéSameSubnetThresholdaSameSubnetDelayvýše Doporučené hodnoty, nepřekračuje 80 sekund hodnotu časového limitu zapůjčení. - Maximální počet selhání v zadaném období: tuto hodnotu můžete nastavit na 6.
- Healthcheck časový limit: tuto hodnotu můžete zpočátku nastavit na 60000, podle potřeby ji upravit.
- Časový limit zapůjčení: pomocí této rovnice můžete vypočítat maximální hodnotu doby zapůjčení:
- při použití názvu virtuální sítě (VNN) a Azure Load Balancer pro připojení k řešení HADR zadejte
MultiSubnetFailover = truev připojovacím řetězci i v případě, že cluster pokrývá jenom jednu podsíť.- Pokud klient nástroje nepodporuje,
MultiSubnetFailover = Truemožná budete muset nastavitRegisterAllProvidersIP = 0aHostRecordTTL = 300uložit přihlašovací údaje klienta do mezipaměti pro kratší dobu trvání. Nicméně to může způsobit další dotazy na server DNS.
- Pokud klient nástroje nepodporuje,
- Pokud se chcete připojit k řešení HADR pomocí názvu distribuované sítě (DNN), vezměte v úvahu následující skutečnosti:
- Je nutné použít ovladač klienta, který podporuje
MultiSubnetFailover = True, a tento parametr musí být v připojovacím řetězci. - Při připojování ke službě DNN Listener pro skupinu dostupnosti použijte jedinečný DNN port v připojovacím řetězci.
- Je nutné použít ovladač klienta, který podporuje
- Použijte připojovací řetězec zrcadlení databáze pro základní skupinu dostupnosti, abyste mohli obejít nutnost vyrovnávání zatížení nebo DNN.
- Před nasazením řešení s vysokou dostupností ověřte velikost sektoru virtuálních pevných disků, abyste se vyhnuli nezarovnanému v/v operačním systému. Další informace najdete v tématu KB3009974 .
Další informace najdete v tématu komplexní osvědčené postupy pro hadr.
Další kroky
Další informace najdete v dalších článcích v této sérii:
osvědčené postupy zabezpečení najdete v tématu požadavky na zabezpečení pro SQL Server v Azure Virtual Machines.
zvažte povolení SQL Assessment pro SQL Server na virtuálních počítačích Azure.
další informace o SQL Server článcích o virtuálních počítačích najdete v článku SQL Server na Azure Virtual Machines přehled. Pokud máte dotazy k virtuálním počítačům s SQL Serverem, přečtěte si Nejčastější dotazy.