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

Platí pro:SQL Server na virtuálním počítači Azure

Tento článek obsahuje rychlý kontrolní seznam jako řadu osvědčených postupů a pokynů pro optimalizaci výkonu SQL Serveru na virtuálních počítačích Azure.

Podrobné informace najdete v dalších článcích v této sérii: velikost virtuálního počítače, úložiště, zabezpečení, konfigurace HADR, shromažďování standardních hodnot.

Povolte sql Assessment pro SQL Server na virtuálních počítačích Azure a sql Server se vyhodnotí podle známých osvědčených postupů s 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 spouštění SQL Serveru na virtuálních počítačích Azure nadále používáte stejné možnosti ladění výkonu databáze, které platí 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 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. Pokud je vaše úloha méně náročná, nemusíte vyžadovat 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.

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

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

  • Nová řada Ebdsv5 poskytuje nejvyšší poměr propustnosti vstupně-výstupních operací k virtuálním jádrům v Azure spolu s poměrem paměti k virtuálním jádrům 8. Tato řada nabízí nejlepší cenu pro úlohy SQL Serveru na virtuálních počítačích Azure. Zvažte tuto řadu jako první pro většinu úloh SQL Serveru.
  • Používejte velikosti virtuálních počítačů se 4 nebo více virtuálními procesory, jako jsou E4ds_v5 nebo vyšší.
  • Úlohy SQL Serveru budou dosahovat nejlepšího výkonu, když použijete virtuální počítač optimalizovaný pro paměť.
  • Řada Edsv5, M-a řada Mv2 nabízejí optimální poměr paměti k virtuálním jádrům vyžadovaný pro úlohy OLTP.
  • Virtuální počítače řady M nabízejí nejvyšší poměr paměti k virtuálním jádrům v Azure. Zvažte tyto virtuální počítače pro klíčové úlohy a úlohy datového skladu.
  • Pomocí imagí Azure Marketplace nasaďte virtuální počítače s SQL Serverem jako nastavení SQL Serveru a možnosti úložiště nakonfigurované pro optimální výkon.
  • Shromážděte charakteristiky výkonu cílové úlohy a použijte je k určení odpovídající velikosti virtuálního počítače pro vaši firmu.
  • Pomocí nástrojů pro doporučení datových Pomocník s migrací a skladových položek vyhledejte správnou velikost virtuálního počítače pro vaši stávající úlohu SQL Serveru.
  • K migraci do Azure použijte Azure Data Studio .

Úložiště

Kontrolní seznam v této části popisuje osvědčené postupy úložiště 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 úložiště a latenci pro data, protokoly a tempdb soubory SQL Serveru.
  • Pokud je k dispozici, nakonfigurujte tempdbdata a soubory protokolů na místním svazku SSD D: Rozšíření agenta SQL IaaS zpracovává složku a oprávnění potřebná při opětovném zřizování.
  • 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ů.
  • Při použití virtuálních počítačů s SQL Serverem řady Ebdsv5 nebo Ebsv5 použijte disk SSD úrovně Premium v2 za nejlepší cenu. Virtuální počítač s SQL Serverem s SSD úrovně Premium v2 můžete nasadit pomocí webu Azure Portal (aktuálně ve verzi Preview).
  • Data, protokoly a tempdb soubory umístěte na samostatné jednotky.
    • 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 ssd úrovně Premium v2 , které poskytují lepší výkon pro úlohy, které vyžadují vysokou propustnost vstupně-výstupních operací za sekundu a vstupně-výstupní operace.
    • Pro plán jednotky protokolu pro kapacitu a testování výkonu a nákladů 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 milisekundách, použijte disky SSD úrovně Premium v2 nebo Azure Ultra pro transakční protokol.
      • U nasazení virtuálních počítačů řady M-series zvažte akcelerátor zápisu pomocí disků Úrovně Ultra Azure.
    • Umístěte databázi tempdb na dočasný disk (dočasný disk je dočasný a výchozí hodnota D:\je ) pro většinu úloh SQL Serveru, 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) se umístí tempdb do sdíleného úložiště.
      • Pokud je úloha FCI silně závislá na tempdb výkonu disku, pak jako rozšířené umístění konfigurace tempdb na místní dočasné jednotce SSD (výchozí D:\) není součástí úložiště FCI. Tato konfigurace vyžaduje vlastní monitorování a akci k zajištění dostupnosti místní dočasné jednotky SSD (výchozí D:\) po celou dobu, protože selhání této jednotky neaktivují akci z FCI.
  • Prokládání několika datových disků Azure pomocí Prostory úložiště ke 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.
  • Nastavte ukládání do mezipaměti hostitele na disky datových souborů jen pro čtení.
  • Pro disky se soubory protokolu nastavte ukládání do mezipaměti hostitele na žádné .
    • Nepovolujte používání mezipaměti ke čtení a zápisu u disků obsahujících data SQL Serveru nebo soubory protokolů.
    • Před změnou nastavení mezipaměti disku vždy zastavte službu SQL Serveru.
  • Při migraci několika různých úloh do cloudu může být azure Elastic SAN nákladově efektivní konsolidované řešení úložiště. Pokud ale používáte Azure Elastic SAN, dosažení požadovaného IOPS/propustnosti pro úlohy SQL Serveru často vyžaduje nadměrnou kapacitu. I když není obvykle vhodné pro jednotlivé úlohy SQL Serveru, můžete dosáhnout nákladově efektivního řešení při kombinování úloh s nízkým výkonem s SQL Serverem.
  • 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.
  • Pro menší úlohy vývoje/testování a systémy oddělení je třeba zvážit pouze nárůst počtu disků založených na kreditech (P1-P20).
  • 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í nebo omezování virtuálních počítačů a disků.
  • 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). Virtuální počítače s SQL Serverem nasazené prostřednictvím Azure Marketplace mají datové disky formátované s velikostí alokační jednotkou a prokládáním pro fond úložiště nastaveným na 64 kB.
  • Nakonfigurujte účet úložiště ve stejné oblasti jako virtuální počítač s SQL Serverem.
  • Zakažte geograficky redundantní úložiště Azure (geografická replikace) a v účtu úložiště použijte LRS (místní redundantní úložiště).
  • Povolte posouzení osvědčených postupů SQL, abyste identifikovali možné problémy s výkonem a vyhodnotili, že je váš virtuální počítač s SQL Serverem 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čů.
  • Vylučte soubory SQL Serveru z antivirového softwaru, včetně datových souborů, souborů protokolu a záložních souborů.

Zabezpečení

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

Funkce a možnosti SQL Serveru poskytují metodu zabezpečení na úrovni dat a je způsob, jak dosáhnout hloubkové ochrany na úrovni infrastruktury pro cloudová a hybridní řešení. Kromě toho je možné pomocí bezpečnostních opatření Azure šifrovat citlivá data, chránit virtuální počítače před viry a malwarem, zabezpečit síťový provoz, identifikovat a zjišťovat 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.

  • Použijte Microsoft Defender pro cloud k vyhodnocení a provedení akcí ke zlepšení stavu zabezpečení vašeho datového prostředí. Funkce, jako je Azure Advanced Threat Protection (ATP), se dají využít napříč hybridními úlohami ke zlepšení vyhodnocení zabezpečení a umožňují reagovat na rizika. Registrace virtuálního počítače s SQL Serverem pomocí rozšíření agenta SQL IaaS poskytuje posouzení Microsoft Defenderu for Cloud v rámci prostředku virtuálního počítače SQL na webu Azure Portal.
  • Pomocí programu Microsoft Defender for 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 Serveru a vrstvu databáze.
  • Posouzení ohrožení zabezpečení je součástí programu Microsoft Defender pro SQL , který může zjišťovat potenciální rizika pro vaše prostředí SQL Serveru a pomoct 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 důvěrné virtuální počítače Azure k posílení ochrany vašich dat v provozu a neaktivních uložených dat proti přístupu operátora hostitele. Důvěrné virtuální počítače Azure umožňují s jistotou ukládat citlivá data do 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 Serveru.
  • 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 prostředků Azure. Využijte Azure Advisor na úrovni virtuálního počítače, skupiny prostředků nebo předplatného k identifikaci a použití osvědčených postupů pro optimalizaci nasazení Azure.
  • Azure Disk Encryption použijte v případě, že vaše požadavky na dodržování předpisů a zabezpečení vyžadují šifrování dat kompletního šifrování pomocí šifrovacích klíčů, včetně šifrování dočasného (místně připojeného dočasného) disku.
  • Spravované disky se ve výchozím nastavení šifrují v klidovém stavu pomocí šifrování služby Azure Storage, kde šifrovací klíče jsou klíče spravované Microsoftem uložené v Azure.
  • Porovnání možností šifrování spravovaných disků najdete v grafu porovnání šifrování spravovaného disku.
  • Porty pro správu by se měly na virtuálních počítačích zavřít – Otevřete porty pro vzdálenou správu, které virtuální počítač zpřístupňují vysoké úrovni rizik při internetových útocích. Tyto útoky se pokusí hrubou silou vynutit přihlašovací údaje, aby získaly přístup správce k počítači.
  • Zapnutí přístupu za běhu (JIT) pro virtuální počítače Azure
  • Použijte Azure Bastion přes protokol RDP (Remote Desktop Protocol).
  • Uzamkněte porty a povolte pouze potřebný provoz aplikací pomocí služby 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.
  • Použití skupin zabezpečení sítě (NSG) k filtrování síťového provozu do a z prostředků Azure ve virtuálních sítích Azure
  • Využijte skupiny zabezpečení aplikací 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.
  • Pro webové a aplikační servery využívají ochranu před útoky DDoS (Distributed Denial of Service) Azure. Ú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í. Ochrana Před útoky Azure 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í Služby Azure Policy můžete vytvářet obchodní pravidla, která se dají použít ve vašem prostředí. Zásady Azure vyhodnocují prostředky Azure porovnáním vlastností těchto prostředků s pravidly definovanými ve formátu JSON.
  • Azure Blueprints umožňuje cloudovým architektům a centrálním oddělením IT definovat opakovatelnou sadu prostředků Azure, která implementuje a dodržuje standardy, vzory a požadavky organizace. Azure Blueprints se liší od zásad Azure.

Funkce SQL Serveru

Následuje rychlý kontrolní seznam osvědčených postupů 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ásleduje rychlý kontrolní seznam osvědčených postupů 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 skupina dostupnosti AlwaysOn a instance clusteru s podporou převzetí služeb při selhání, závisí na základní technologii clusteru s podporou převzetí služeb při selhání Windows Serveru. Projděte si osvědčené postupy pro úpravu nastavení HADR, abyste mohli lépe podporovat cloudové prostředí.

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

  • Nasaďte virtuální počítače s SQL Serverem do několika podsítí, kdykoli je to možné, abyste se vyhnuli závislosti na Azure Load Balanceru 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. Další informace najdete v tématu 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 prezenčních signálů
    • CrossSubnetDelay: 1 sekunda
    • CrossSubnetThreshold: 40 prezenčních signálů
  • 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.
  • Nakonfigurujte hlasování kvora clusteru tak, aby používalo 3 nebo více lichých hlasů. Nepřiřazujte hlasy do oblastí zotavení po havárii.
  • Pečlivě monitorujte limity prostředků, abyste se vyhnuli neočekávaným restartováním 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 mají nejnovější sestavení.
    • Optimalizujte výkon SQL Serveru 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, který má vyšší limity, abyste se vyhnuli omezením.

Pro vaši skupinu dostupnosti SQL Serveru nebo instanci clusteru s podporou 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 s SQL Serverem nevyřeší neočekávané převzetí služeb při selhání, zvažte uvolnění monitorování pro skupinu dostupnosti nebo instanci clusteru s podporou 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 novější 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é SameSubnetThreshold hodnoty a SameSubnetDelay hodnoty doporučené dříve, nepřesáhejte pro hodnotu časového limitu zapůjčení 80 sekund.
    • 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 Balanceru pro připojení k řešení HADR zadejte MultiSubnetFailover = true v připojovací řetězec, 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 připojovací řetězec.
    • Při připojování k naslouchacímu procesu DNN pro skupinu dostupnosti použijte jedinečný port DNN v připojovací řetězec.
  • Zrcadlení databáze připojovací řetězec pro základní skupinu dostupnosti použijte k obejití potřeby nástroje pro vyrovnávání zatížení nebo sítě 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 Serveru, naslouchací proces skupiny dostupnosti AlwaysOn nebo sonda stavu instance clusteru s podporou převzetí služeb při selhání nakonfigurovaná tak, aby používala port mezi 49 152 a 65 536 ( výchozí dynamický rozsah portů pro tcp/IP), přidejte pro každý port vyloučení. 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

Následuje seznam prostředků, které vám pomůžou dále řešit problémy s výkonem SQL Serveru.

Zvažte povolení sql Assessmentu pro SQL Server na virtuálních počítačích Azure.

Projděte si další články o virtuálních počítačích s SQL Serverem v přehledu SQL Serveru na virtuálních počítačích Azure. Pokud máte dotazy k virtuálním počítačům s SQL Serverem, přečtěte si Nejčastější dotazy.