Sdílet prostřednictvím


Kontrolní seznam: Osvědčené postupy pro SQL Server na virtuálních počítačích Azure

Applies to:SQL Server na virtuálním počítači Azure

Tento článek obsahuje kontrolní seznamy jako součást řady osvědčených postupů a pokynů pro optimalizaci výkonu SQL Serveru na virtuálních počítačích Azure. Pomocí tohoto průvodce můžete zlepšit konfiguraci virtuálního počítače, nastavení úložiště, stav zabezpečení a řešit běžné problémy s výkonem.

Kontrolní seznamy v tomto článku poskytují stručný přehled podrobnějších podrobností, které najdete v následujících článcích této série:

Poznámka:

Nyní můžete zobrazit jednotlivé instance SQL Serveru a databáze na virtuálních počítačích Azure v Azure Portálu pomocí prostředku instancí SQL Serveru. Další informace najdete v sjednoceném inventáři (náhled).

Pokud povolíte nástroj SQL Assessment pro SQL Server na virtuálních počítačích Azure, služba vyhodnotí SQL Server proti známým osvědčeným postupům a zobrazí výsledky na stránce správy virtuálních počítačů SQL na webu Azure Portal.

Videa o nejnovějších funkcích pro optimalizaci výkonu virtuálního počítače s SQL Serverem a automatizaci správy najdete v následujících videích vystavených dat:

Přehled

Při spuštění SQL Serveru na virtuálních počítačích Azure použijte stejné možnosti ladění výkonu databáze, které používáte pro SQL Server v místním serverovém prostředí. Výkon relační databáze ve veřejném cloudu ale závisí na mnoha faktorech, jako je například velikost virtuálního počítače a konfigurace datových disků.

Mezi optimalizací nákladů a optimalizací výkonu je obvykle kompromis. Tato řada osvědčených postupů výkonu se zaměřuje na dosažení nejlepšího výkonu pro SQL Server na virtuálních počítačích Azure.

Další kroky: Nejprve začněte s doporučeními velikosti virtuálního počítače, poté pokračujte postupně přes oddíly Úložiště, Zabezpečení a Funkce SQL Serveru pro kompletní optimalizační přístup.

Pokud je vaše úloha méně náročná, možná nebudete potřebovat každou doporučenou optimalizaci. Při vyhodnocování těchto doporučení zvažte požadavky na výkon, náklady a vzorce úloh.

Ruční instalace SQL Server na virtuální počítač Azure

Pokud plánujete ručně nainstalovat SQL Server na virtuální počítač Azure, postupujte podle těchto základních kroků, abyste se vyhnuli běžným problémům s konfigurací:

  • Ujistěte se, že máte kód Product Key připravený k instalaci.
  • Vyhněte se nepodporovaným konfiguracím, například:
    • Více než 64 vCores na uzel NUMA
    • Úložiště s velikostí sektorů 8 kB
    • Sady škálování virtuálních strojů Azure
  • Pokud ještě neexistují, vytvořte složky pro instalaci SQL Serveru a datové soubory před spuštěním instalačního média.
  • Zkopírujte instalační médium na místní disk místo instalace přímo z připojeného iso.
  • Po instalaci zaregistrujte virtuální počítač SQL Server pomocí SQL Server rozšíření agenta IaaS pro automatizaci úloh správy.
  • tempdb Pokud je to možné, umístěte databázi do místního dočasného úložiště SSD.

Velikost virtuálního počítače

Výstraha

Umístění tempdb na místní dočasný disk pro image virtuálních počítačů Azure s neinicializovanými dočasnými disky, například FXmdsv2, se nepodporuje. Tento problém se týká pouze Azure Virtual Machines s novým rozhraním NVMe, které má také místní dočasné úložiště. Tato nasazení prostřednictvím portálu Azure mohou selhat a SQL Server se nemusí spustit. Buď použijte jinou řadu virtuálních počítačů, nebo umístěte tempdb do dočasného úložiště při nasazení image SQL Server prostřednictvím portálu Azure a při ruční instalaci SQL Server. Další informace o problému, stejně jako seznam ovlivněných virtuálních počítačů, najdete v tématu nasazení VM a selhání serveru SQL.

Kontrolní seznam v této části se věnuje osvědčeným postupům VM size pro SQL Server na virtuálních počítačích Azure.

  • Před výběrem velikosti virtuálního počítače nakonfigurujte úložiště. Sestavte referenční hodnotu ze zdrojového prostředí za nejvyšších zátěžových podmínek a pak nakonfigurujte úložiště na základě potřeb IOPS a propustnosti vaší úlohy s 20% vyrovnávací pamětí pro budoucí růst.
  • Identifikujte charakteristiky výkonu úloh (OLTP vs . OLAP, velikost úloh) a určete odpovídající velikost virtuálního počítače pro vaši firmu.
  • Pokud migrujete na Azure, zhodnoťte připravenost na migraci a abyste našli správnou velikost virtuálního počítače pro vaši stávající pracovní zátěž SQL Serveru, pak migrujte pomocí Azure Database Migration Service.
  • Pomocí obrazů Azure Marketplace nasaďte virtuální počítače SQL Server s již nakonfigurovanými nastaveními SQL Server a možnostmi úložiště pro optimální výkon.
  • Používejte velikosti virtuálních počítačů se 4 nebo více virtuálními jádry.
  • Pro zajištění nejlepšího výkonu úloh SQL Server využijte velikosti virtuálních počítačů optimalizovaných pro paměť.
    • Řada Mbdsv3 nabízí nejlepší celkový výkon pro klíčové úlohy OLTP a datového skladu.
    • Řada Ebdsv5 poskytuje nejlepší cenu pro většinu produkčních SQL Server úloh.
    • Řada Easv7 a Msv3/Mdsv3-series jsou optimalizované pro úlohy náročné na paměť.
    • Řada M-series nabízí nejvyšší konfiguraci paměti v Azure pro největší úlohy.
  • Zahajte vývojová prostředí s nižší řadou D-Series nebo B-Series a rozšiřte své prostředí v průběhu času.
  • Zkontrolujte možnosti podpory virtuálních počítačů, abyste se vyhnuli nepodporovaným konfiguracím.
  • Pomocí přizpůsobení virtuálních jader virtuálních počítačů VM odpovídajícím způsobem přidělte virtuální procesory pro úlohy a virtuální počítač a snižte náklady na licencování SQL Server a zakažte nastavení SMT/hyperthreading pro optimální výkon SQL Server.

Storage

Kontrolní seznam v této části popisuje osvědčené postupy storage pro SQL Server na virtuálních počítačích Azure.

  • Před výběrem typu disku monitorujte aplikaci a určete požadavky na šířku pásma a latenci úložiště pro data SQL Serveru, záznamy a tempdbsoubory.
  • Pokud je k dispozici, nakonfigurujte data a soubory protokolů tempdb na místním SSD disku D: při nasazení nového virtuálního počítače nebo po ruční instalaci SQL Serveru. Rozšíření agenta SQL IaaS se stará o správu složek a oprávnění potřebných při opětovném nasazení.
  • Pokud chcete optimalizovat výkon úložiště, naplánujte nejvyšší dostupné IOPS bez mezipaměti a používejte ukládání dat do mezipaměti jako funkci výkonu pro čtení dat a vyhněte se omezování virtuálních počítačů a disků.
    • Nastavte mezipaměť hostitele na pouze pro čtení pro disky datových souborů.
    • Nastavte ukládání do mezipaměti hostitele na vypnuto pro disky se soubory protokolu.
      • Nepovolujte ukládání do mezipaměti pro čtení a zápis na disky, které obsahují SQL Server data nebo soubory protokolů.
      • Před změnou nastavení mezipaměti disku vždy zastavte službu SQL Server.
  • Při použití virtuálních počítačů SQL Server řady Ebdsv5 nebo Ebsv5 použijte Premium SSD v2 pro nejlepší poměr ceny a výkonu. Virtuální počítač SQL Server s SSD úrovně Premium v2 můžete nasadit pomocí portálu Azure (aktuálně ve verzi Preview).
  • Pokud vaše úloha vyžaduje více než 160 000 IOPS, použijte disky Premium SSD v2 nebo Azure Ultra Disks.
  • Data, protokoly a tempdb soubory umístěte na samostatné disky.
    • Pro datovou jednotku použijte disky Premium P30 a P40 nebo menší disky , abyste zajistili dostupnost podpory mezipaměti. Pokud používáte řadu virtuálních počítačů Ebdsv5, použijte Premium SSD v2, které poskytuje lepší poměr cena-výkon pro úlohy, které vyžadují vysoké IOPS a propustnost vstupně-výstupních operací.
    • Pro plán protokolování pro kapacitu a testování výkonu proti nákladům při vyhodnocování disků SSD úrovně Premium v2 nebo SSD úrovně Premium P30 – P80
      • Pokud je vyžadována latence úložiště v submilisekundách, použijte pro transakční protokol Premium SSD v2 nebo Azure Ultra Disky.
      • U nasazení virtuálních počítačů řady M zvažte akcelerátor zápisu místo použití disků Azure Ultra.
    • Umístěte tempdb na temporární disk (dočasný disk je dočasný a výchozí hodnota je D:\) pro většinu SQL Server úloh, které nejsou součástí instance clusteru s podporou převzetí služeb při selhání (FCI), po výběru optimální velikosti virtuálního počítače.
      • Pokud kapacita místního disku nestačí tempdb, zvažte nastavení velikosti virtuálního počítače. Další informace najdete v tématu Zásady ukládání datových souborů do mezipaměti.
    • Pro instance clusteru s podporou převzetí služeb při selhání (FCI) umístěte tempdb na sdílené úložiště.
      • Pokud je úloha FCI silně závislá na tempdb výkonu disku, pak jako pokročilou konfiguraci umístěte tempdb na místní dočasný SSD (výchozí jednotka D:\), který není součástí úložiště FCI. Tato konfigurace vyžaduje nutnost vlastního monitorování a akci k zajištění dostupnosti místního dočasného disku SSD (výchozí D:\) po celou dobu, protože selhání tohoto disku nevyvolá žádnou akci FCI.
  • Prokládání více Azure datových disků pomocí Storage Spaces za účelem zvýšení šířky pásma vstupně-výstupních operací až do limitů IOPS a propustnosti cílového virtuálního počítače.
  • Při migraci několika různých úloh do cloudu může být Azure Elastic SAN nákladově efektivním konsolidovanými řešeními úložiště. Pokud ale používáte Azure Elastic SAN, dosažení požadovaného počtu vstupně-výstupních operací za sekundu a propustnosti pro SQL Server úlohy často vyžaduje nadměrnou kapacitu. I když není obvykle vhodné pro jednotlivé SQL Server úlohy, můžete dosáhnout nákladově efektivního řešení při kombinování úloh s nízkým výkonem s SQL Server.
  • U vývojových a testovacích úloh a dlouhodobé archivace záloh zvažte použití úložiště úrovně Standard. Pro produkční úlohy se nedoporučuje používat disky HDD/SSD úrovně Standard.
  • Kreditové burstování disků (P1-P20) by mělo být zvažováno pouze pro menší vývojové/testovací úlohy a systémy jednotlivých oddělení.
  • 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ž dočasná D:\ jednotka (která má výchozí hodnotu 4 kB). SQL Server virtuální počítače nasazené prostřednictvím Azure Marketplace mají datové disky formátované s velikostí alokační jednotky a prokládáním pro úložný fond nastavené na 64 kB.
  • Nakonfigurujte účet úložiště ve stejné oblasti jako virtuální počítač SQL Server.
  • Zakažte Azure geograficky redundantní úložiště (geografická replikace) a v účtu úložiště použijte LRS (místní redundantní úložiště).
  • Povolte posouzení osvědčených postupů pro SQL k identifikaci možných problémů s výkonem a vyhodnocení, že je váš virtuální počítač SQL Server nakonfigurovaný tak, aby dodržoval osvědčené postupy.
  • Pomocí metrik využití vstupně-výstupních operací úložiště zkontrolujte a monitorujte limity disků a virtuálních počítačů.
  • Vyloučit SQL Server soubory z kontroly antivirového softwaru, včetně datové soubory, protokolové soubory a záložní soubory.
  • Odpovídajícím způsobem změňte velikost fondu úložiště.

Zabezpečení

Kontrolní seznam v této části popisuje osvědčené postupy security pro SQL Server na virtuálních počítačích Azure.

SQL Server funkce a možnosti poskytují metody zabezpečení dat na úrovni databáze, které lze kombinovat s funkcemi zabezpečení na úrovni infrastruktury. Tyto funkce společně poskytují hloubkovou ochranu na úrovni infrastruktury pro cloudová a hybridní řešení. Kromě toho s Azure bezpečnostními opatřeními je možné šifrovat citlivá data, chránit virtuální počítače před viry a malwarem, zabezpečit síťový provoz, identifikovat a detekovat hrozby, splňovat požadavky na dodržování předpisů a poskytuje jedinou metodu pro správu a vytváření sestav pro případ potřeby zabezpečení v hybridním cloudu.

  • Pomocí Microsoft Defender for Cloud můžete vyhodnotit stav zabezpečení vašeho datového prostředí a podniknout kroky. Funkce, jako jsou Azure Advanced Threat Protection (ATP) se dají použít napříč hybridními úlohami, aby se zlepšilo vyhodnocování zabezpečení a bylo možné reagovat na rizika. Registrace virtuálního počítače SQL Server s rozšířením agenta SQL IaaS zobrazí posouzení Microsoft Defender for Cloud v prostředku virtuálního počítače SQL v portálu Azure.
  • Pomocí Microsoft Defender pro SQL můžete zjišťovat a zmírnit potenciální ohrožení zabezpečení databáze a detekovat neobvyklé aktivity, které by mohly značit hrozbu pro vaši instanci SQL Server a vrstvu databáze.
  • Hodnocení zranitelností je součástí Microsoft Defender pro SQL, které může zjišťovat potenciální rizika pro vaše prostředí SQL Serveru a pomáhat s jejich nápravou. Poskytuje přehled o stavu zabezpečení a obsahuje kroky, které je možné provést při řešení problémů se zabezpečením.
  • Používejte Azure Confidential VMs k posílení ochrany vašich používaných dat a uložených dat proti přístupu operátora hostitele. Důvěrné virtuální počítače Azure vám umožňují bezpečně ukládat vaše citlivá data v cloudu a splňovat přísné požadavky na dodržování předpisů.
  • Pokud používáte SQL Server 2022, zvažte použití ověřování Microsoft Entra pro připojení k vaší instanci SQL Server.
  • Azure Advisor analyzuje konfiguraci prostředků a telemetrii využití a pak doporučí řešení, která vám pomůžou zlepšit nákladovou efektivitu, výkon, vysokou dostupnost a zabezpečení vašich Azure prostředků. Pomocí Azure Advisor na úrovni virtuálního počítače, skupiny prostředků nebo předplatného můžete identifikovat a použít osvědčené postupy pro optimalizaci nasazení Azure.
  • Použijte Azure Disk Encryption v případě, že dodržování předpisů a zabezpečení vyžaduje šifrování dat pomocí šifrovacích klíčů, včetně šifrování dočasného (místně připojeného dočasného) disku.
  • Managed Disks jsou šifrované v klidu ve výchozím nastavení při použití šifrování služby Azure Storage, kde šifrovací klíče spravované Microsoftem jsou uložené v Azure.
  • Porovnání možností šifrování spravovaných disků najdete v srovnávacím grafu šifrování spravovaných disků.
  • Porty pro správu by měly být na virtuálních počítačích zavřeny – Otevřené porty pro vzdálenou správu vystavují váš virtuální počítač vysoké úrovni rizika z internetových útoků. Tyto útoky se pokusí hrubou silou vynutit přihlašovací údaje, aby získaly přístup správce k počítači.
  • Zapněte Just-in-time (JIT) přístup pro virtuální počítače Azure.
  • Použijte Azure Bastion přes protokol RDP (Remote Desktop Protocol).
  • Zamkněte porty a povolte pouze potřebný provoz aplikací pomocí Azure Firewall což je spravovaná brána firewall jako služba (FaaS), která uděluje nebo zakazuje přístup k serveru na základě původní IP adresy.
  • Pomocí Skupin zabezpečení sítě (NSG) můžete filtrovat příchozí a odchozí síťový provoz do a z Azure prostředků na virtuálních sítích Azure.
  • Skupiny zabezpečení aplikací použijte k seskupení serverů spolu s podobnými požadavky na filtrování portů s podobnými funkcemi, jako jsou webové servery a databázové servery.
  • Použijte ochranu Azure Distributed Denial of Service (DDoS) pro webové a aplikační servery. Útoky DDoS jsou navržené tak, aby zahltily a vyčerpaly síťové prostředky, aby aplikace byly pomalé nebo nereagující. Útoky DDoS se běžně zaměřují na uživatelská rozhraní. Azure ochrana před útoky DDoS sanitizuje nežádoucí síťový provoz, než ovlivní dostupnost služby.
  • Použití rozšíření virtuálních počítačů k řešení antimalwaru, požadovaného stavu, detekce hrozeb, prevence a nápravy k řešení hrozeb na úrovni operačního systému, počítače a sítě:
  • Pomocí Azure Policy můžete vytvořit obchodní pravidla, která se dají použít ve vašem prostředí. Zásady Azure vyhodnocují prostředky Azure porovnáním jejich vlastností s pravidly definovanými ve formátu JSON.
  • Azure Blueprints umožňuje cloudovým architektům a centrálním skupinám informačních technologií definovat opakovatelnou sadu Azure prostředků, které implementují a dodržují standardy, vzory a požadavky organizace. Azure Blueprints jsou odlišné než zásady Azure.
  • Použijte Windows Server 2019 nebo Windows Server 2022 tak, aby byly FIPS kompatibilní s SQL Server na virtuálních počítačích Azure.
  • Zacházejte s obnovením záloh jako s vysoce rizikovou operací a nikdy neobnovíte zálohu z nedůvěryhodného zdroje.

funkce SQL Server

Následující kontrolní seznam shrnuje osvědčené postupy pro nastavení konfigurace SQL Serveru při spouštění instancí SQL Serveru ve virtuálním počítači Azure v produkčním prostředí:

funkce Azure

Následující kontrolní seznam obsahuje osvědčené postupy pro pokyny specifické pro Azure při spouštění SQL Serveru na virtuálním počítači Azure:

Konfigurace HADR

Kontrolní seznam v této části popisuje osvědčené postupy HADR pro SQL Server na virtuálních počítačích Azure.

Funkce vysoké dostupnosti a zotavení po havárii (HADR), jako je Always On availability group a failover cluster instance, spoléhají na základní technologii Windows Server Failover Cluster. Projděte si osvědčené postupy pro úpravu nastavení HADR, abyste mohli lépe podporovat cloudové prostředí.

Pro váš cluster Windows zvažte tyto osvědčené postupy:

  • Nasaďte virtuální počítače SQL Server do více podsítí, kdykoli je to možné, abyste se vyhnuli závislosti na Azure Load Balancer nebo názvu distribuované sítě (DNN) pro směrování provozu do vašeho řešení HADR.
  • Změňte cluster na méně agresivní parametry, abyste se vyhnuli neočekávaným výpadkům v přechodných selháních sítě nebo údržbě platformy Azure. Pro více informací viz nastavení prezenčních signálů a prahových hodnot. Pro Windows Server 2012 a novější použijte následující doporučené hodnoty:
    • SameSubnetDelay: 1 sekunda
    • SameSubnetThreshold: 40 heartbeatů
    • CrossSubnetDelay: 1 sekunda
    • CrossSubnetThreshold: 40 heartbeatů
  • 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 uzel clusteru.
  • Konfigurujte hlasování kvora clusteru tak, aby používalo 3 nebo více lichých počtů hlasů. Nepřiřazujte hlasy do DR regionů.
  • Pečlivě monitorujte limity prostředků, abyste se vyhnuli neočekávaným restartováním nebo přepnutí na zálohu kvůli omezením prostředků.
    • Ujistěte se, že operační systém, ovladače a SQL Server jsou nejnovější buildy.
    • Optimalizujte výkon pro SQL Server na virtuálních počítačích Azure. Další informace najdete v dalších částech tohoto článku.
    • Omezte nebo rozložte úlohu, abyste se vyhnuli omezením prostředků.
    • Přesuňte se na virtuální počítač nebo disk s vyššími limity, abyste se vyhnuli omezením.

Pro vaši skupinu dostupnosti SQL Serveru nebo instanci clusteru pro převzetí služeb při selhání zvažte tyto osvědčené postupy:

  • Pokud dochází k častým neočekávaným selháním, 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ší neočekávané převzetí služeb při selhání, zvažte zmírnění monitorování u skupiny dostupnosti nebo instance clusteru pro převzetí služeb při selhání. To však nemusí řešit základní zdroj problému a mohl by maskovat příznaky snížením pravděpodobnosti selhání. Možná budete muset prozkoumat a vyřešit původní příčinu. Pro Windows Server 2012 nebo vyšší použijte následující doporučené hodnoty:
    • Časový limit zapůjčení: Tuto rovnici použijte k výpočtu maximální hodnoty časového limitu zapůjčení:
      Lease timeout < (2 * SameSubnetThreshold * SameSubnetDelay).
      Začněte 40 sekundami. Pokud používáte uvolněné hodnoty SameSubnetThreshold a SameSubnetDelay doporučené dříve, nepřekračujte 80 sekund pro časový limit zapůjčení.
    • Maximální počet selhání v zadaném období: Nastavte tuto hodnotu na hodnotu 6.
  • Při použití názvu virtuální sítě (VNN) a Azure Load Balancer pro připojení k řešení HADR zadejte MultiSubnetFailover = true v connection string, i když váš cluster pokrývá pouze jednu podsíť.
    • Pokud klient nepodporuje MultiSubnetFailover = True , možná budete muset nastavit RegisterAllProvidersIP = 0 a HostRecordTTL = 300 uložit přihlašovací údaje klienta do mezipaměti po kratší dobu. To ale může způsobit další dotazy na server DNS.
  • Pokud se chcete připojit k řešení HADR pomocí názvu distribuované sítě (DNN), zvažte následující:
    • Musíte použít klientský ovladač, který podporuje MultiSubnetFailover = True, a tento parametr musí být v connection string.
    • Při připojování k posluchači DNN pro skupinu dostupnosti použijte jedinečný port DNN v connection string.
  • ** Použijte connection string pro zrcadlení databáze pro základní skupinu dostupnosti, aby bylo možné obejít potřebu nástroje pro 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 nesprávnému zarovnání vstupně-výstupních operací. Další informace najdete v KB3009974 .
  • Pokud je databázový stroj SQL Server, naslouchací proces skupiny dostupnosti Always On nebo sonda stavu instance clusteru s podporou převzetí služeb při selhání nakonfigurován tak, aby používal port mezi 49 152 a 65 536 (výchozí dynamický rozsah portů pro TCP/IP), přidejte vyloučení pro každý port. Tím zabráníte dynamickému přiřazování stejného portu jiným systémům. Následující příklad vytvoří vyloučení pro port 59999:
    netsh int ipv4 add excludedportrange tcp startport=59999 numberofports=1 store=persistent

Řešení potíží s výkonem

Pokud narazíte na problémy s výkonem SQL Serveru, identifikujte a vyřešte konkrétní problémy pomocí těchto diagnostických prostředků:

Podrobné pokyny k jednotlivým oblastem optimalizace najdete v těchto tématech:

nástroj Pohodný nástroj:Enable SQL Assessment pro SQL Server na virtuálních počítačích Azure k automatickému vyhodnocení konfigurace proti těmto osvědčeným postupům.

Další články o virtuálních počítačích SQL Server najdete v článku SQL Server on Azure Virtual Machines Overview. Pokud máte dotazy k virtuálním počítačům SQL Server, podívejte se na Frequently Asked Questions.