Sdílet prostřednictvím


Osvědčené postupy PRO SQL Server pro optimalizaci výkonu ve službě Azure Stack Hub

Tento článek obsahuje osvědčené postupy PRO SQL Server pro optimalizaci SQL Serveru a zlepšení výkonu virtuálních počítačů služby Microsoft Azure Stack Hub. Při spouštění SQL Serveru na virtuálních počítačích azure Stack Hubu použijte 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 v cloudu Azure Stack Hubu závisí na mnoha faktorech, včetně velikosti rodiny virtuálního počítače a konfigurace datových disků.

Při vytváření imagí SQL Serveru zvažte zřízení virtuálních počítačů na portálu Azure Stack Hub. Stáhněte si rozšíření SQL IaaS ze správy Marketplace na portálu pro správu služby Azure Stack Hub a stáhněte si svoji volbu imagí virtuálních počítačů s SQL Serverem. Patří mezi ně SQL Server 2016 SP1, SQL Server 2016 SP2 a SQL Server 2017.

Poznámka:

I když článek popisuje, jak zřídit virtuální počítač s SQL Serverem pomocí globálního webu Azure Portal, pokyny platí také pro Službu Azure Stack Hub s následujícími rozdíly: SSD není k dispozici pro disk s operačním systémem a v konfiguraci úložiště existují menší rozdíly.

V imagích virtuálních počítačů můžete pro SQL Server použít pouze vlastní licenci (BYOL). Pro Windows Server je výchozím licenčním modelem průběžné platby (PAYG). Podrobné informace o licenčním modelu Windows Serveru na virtuálním počítači najdete v článku Windows Server v nejčastějších dotazech k Marketplace služby Azure Stack Hub.

Získání nejlepšího výkonu pro SQL Server na virtuálních počítačích azure Stack Hub je cílem tohoto článku. 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 své požadavky na výkon a vzory úloh.

Poznámka:

Pokyny k výkonu PRO SQL Server na virtuálních počítačích Azure najdete v tomto článku.

Kontrolní seznam osvědčených postupů pro SQL Server

Následující kontrolní seznam slouží k zajištění optimálního výkonu SQL Serveru na virtuálních počítačích služby Azure Stack Hub:

Plocha Optimalizace
Velikost virtuálního počítače DS3 nebo vyšší pro edici SQL Server Enterprise.

DS2 nebo vyšší pro edici SQL Server Standard a webovou edici.
Úložiště Použijte řadu virtuálních počítačů, která podporuje Premium Storage.
Disky Použijte minimálně dva datové disky (jeden pro soubory protokolů a jeden pro datový soubor a databázi TempDB) a zvolte velikost disku podle vašich potřeb kapacity. Nastavte výchozí umístění datových souborů na tyto disky během instalace SQL Serveru.

Nepoužívejte operační systém nebo dočasné disky pro ukládání nebo protokolování databáze.
Prokládáním několika datových disků Azure získáte zvýšenou propustnost vstupně-výstupních operací pomocí Prostory úložiště.

Formátujte s dokumentovanými velikostmi přidělení.
I/O Povolení okamžité inicializace souborů pro datové soubory

Omezte automatické zvětšování databází s přiměřeně malými pevnými přírůstky (64 MB–256 MB).

V databázi zakažte automatické zašimnění.

Nastavte výchozí umístění záložních a databázových souborů na datových discích, nikoli na disk s operačním systémem.

Povolte uzamčené stránky.

Použijte aktualizace Service Pack a kumulativní aktualizace SQL Serveru.
Specifické pro funkce Zálohujte přímo do úložiště objektů blob (pokud je podporovaná verzí SQL Serveru, která se používá).

Další informace o tom, jak a proč provést tyto optimalizace, najdete v podrobnostech a doprovodných materiálech uvedených v následujících částech.

Pokyny k velikosti virtuálního počítače

Pro aplikace citlivé na výkon se doporučuje následující velikosti virtuálních počítačů :

  • EDICE SQL Server Enterprise: DS3 nebo vyšší

  • EDICE SQL Server Standard a webová edice: DS2 nebo vyšší

Se službou Azure Stack Hub neexistuje žádný rozdíl v výkonu mezi řadou DS a DS_v2 řady virtuálních počítačů.

Pokyny k ukládání

Virtuální počítače řady DS (společně s virtuálními počítači řady DSv2) ve službě Azure Stack Hub poskytují maximální propustnost disku s operačním systémem a propustnost datových disků (IOPS). Virtuální počítač z řady DS nebo DSv2 poskytuje až 1 000 IOPS pro disk s operačním systémem a až 2 300 IOPS na datový disk bez ohledu na typ nebo velikost zvoleného disku.

Propustnost datového disku se určuje jedinečně na základě řady řad virtuálních počítačů. V tomto článku najdete informace o propustnosti datových disků na řadu řad virtuálních počítačů.

Poznámka:

V případě produkčních úloh vyberte virtuální počítač řady DS nebo DSv2-series, abyste zajistili maximální možný počet IOPS na disku s operačním systémem a datových discích.

Při vytváření účtu úložiště ve službě Azure Stack Hub nemá možnost geografické replikace žádný vliv, protože tato funkce není ve službě Azure Stack Hub dostupná.

Pokyny k diskům

Na virtuálním počítači Azure Stack Hub existují tři hlavní typy disků:

  • Disk s operačním systémem: Při vytváření virtuálního počítače azure Stack Hub připojí platforma k virtuálnímu počítači disk s operačním systémem alespoň jeden disk (označený jako jednotka C ). Tento disk je virtuální pevný disk uložený jako objekt blob stránky v úložišti.

  • Dočasný disk: Virtuální počítače azure Stack Hubu obsahují jiný disk označovaný jako dočasný disk (označený jako jednotka D ). Jedná se o disk na uzlu, který lze použít pro pomocné místo.

  • Datové disky: K virtuálnímu počítači můžete připojit další disky jako datové disky a tyto disky jsou uložené v úložišti jako objekty blob stránky.

Následující části popisují doporučení pro použití těchto různých disků.

Disk operačním systému

Disk operačního systému je virtuální pevný disk, který můžete spustit a připojit jako spuštěnou verzi operačního systému a je označený jako jednotka C .

Dočasný disk

Dočasná jednotka úložiště označená jako jednotka D není trvalá. Neukládejte žádná data, která nechcete ztratit na jednotce D . To zahrnuje soubory uživatelské databáze a soubory protokolu transakcí uživatele.

Doporučujeme uložit databázi TempDB na datový disk, protože každý datový disk poskytuje maximálně 2 300 IOPS na datový disk.

Datové disky

  • Použijte datové disky pro soubory dat a protokolů. Pokud nepoužíváte prokládání disků, použijte dva datové disky z virtuálního počítače, který podporuje úložiště Premium, kde jeden disk obsahuje soubory protokolu a druhý obsahuje data a soubory tempDB. Každý datový disk poskytuje řadu IOPS v závislosti na řadě virtuálních počítačů, jak je popsáno v velikostech virtuálních počítačů podporovaných ve službě Azure Stack Hub. Pokud používáte techniku prokládání disků, například Prostory úložiště, umístěte všechna data a soubory protokolů na stejnou jednotku (včetně databáze TempDB). Tato konfigurace poskytuje maximální počet IOPS dostupných pro SQL Server, bez ohledu na to, který soubor je v každém konkrétním okamžiku potřebuje.

Poznámka:

Při zřizování virtuálního počítače s SQL Serverem na portálu máte možnost upravit konfiguraci úložiště. V závislosti na konfiguraci azure Stack Hub nakonfiguruje jeden nebo více disků. Více disků se zkombinuje do jednoho fondu úložiště. V této konfiguraci jsou uložena data i soubory protokolu.

  • Prokládání disků: Pro větší propustnost můžete přidat další datové disky a použít prokládání disků. Pokud chcete určit požadovaný počet datových disků, analyzujte počet vstupně-výstupních operací za sekundu požadovaných pro soubory protokolů a pro vaše data a soubory tempDB. Všimněte si, že limity IOPS jsou na datový disk založený na řadě řad virtuálních počítačů, a ne na základě velikosti virtuálního počítače. Omezení šířky pásma sítě jsou ale založená na velikosti virtuálního počítače. Další podrobnosti najdete v tabulkách velikostí virtuálních počítačů ve službě Azure Stack Hub . Postupujte takto:

    • Pro Windows Server 2012 nebo novější použijte Prostory úložiště s následujícími pokyny:

      1. Pro úlohy online zpracování transakcí (OLTP) nastavte prokládání (velikost pruhu) na 64 kB (65 536 bajtů) a 256 kB (262 144 bajtů) pro úlohy datových skladů, aby se zabránilo dopadu na výkon kvůli chybnému zarovnání oddílu. Musí se nastavit pomocí PowerShellu.

      2. Nastavte počet sloupců = počet fyzických disků. PowerShell použijte při konfiguraci více než osmi disků (ne Správce serveru uživatelského rozhraní).

        Například následující PowerShell vytvoří nový fond úložiště s velikostí prokládání nastavenou na 64 kB a počtem sloupců na 2:

        $PoolCount = Get-PhysicalDisk -CanPool $True
        $PhysicalDisks = Get-PhysicalDisk | Where-Object {$_.FriendlyName -like "*2" -or $_.FriendlyName -like "*3"}
        
        New-StoragePool -FriendlyName "DataFiles" -StorageSubsystemFriendlyName "Storage Spaces*" -PhysicalDisks $PhysicalDisks | New-VirtualDisk -FriendlyName "DataFiles" -Interleave 65536 -NumberOfColumns 2 -ResiliencySettingName simple -UseMaximumSize |Initialize-Disk -PartitionStyle GPT -PassThru |New-Partition -AssignDriveLetter -UseMaximumSize |Format-Volume -FileSystem NTFS -NewFileSystemLabel "DataDisks" -AllocationUnitSize 65536 -Confirm:$false
        
  • Na základě očekávání zatížení určete počet disků přidružených k vašemu fondu úložiště. Mějte na paměti, že různé velikosti virtuálních počítačů umožňují různé počty připojených datových disků. Další informace najdete v tématu Velikosti virtuálních počítačů podporované ve službě Azure Stack Hub.

  • Pokud chcete získat maximální možný počet vstupně-výstupních operací za sekundu pro datové disky, doporučujeme přidat maximální počet datových disků podporovaných velikostí virtuálního počítače a použít prokládání disků.

  • Velikost alokační jednotky NTFS: Při formátování datového disku doporučujeme použít velikost alokační jednotky o velikosti 64 kB pro soubory dat a protokolů i databázi TempDB.

  • Postupy správy disků: Při odebírání datového disku zastavte službu SQL Serveru během změny. Také neměňte nastavení mezipaměti na discích, protože neposkytuje žádná vylepšení výkonu.

Upozorňující

Selhání zastavení služby SQL během těchto operací může způsobit poškození databáze.

Pokyny pro vstupně-výstupní operace

  • Zvažte povolení okamžité inicializace souborů, abyste zkrátili dobu potřebnou k počátečnímu přidělení souboru. Pokud chcete využít výhod okamžité inicializace souborů, udělíte účtu služby SQL Server (MSSQLSERVER) pomocí SE_MANAGE_VOLUME_NAME a přidáte ho do zásad zabezpečení Provést úlohy údržby svazků. Pokud používáte image platformy SQL Serveru pro Azure, výchozí účet služby (NT Service\MSSQLSERVER) se nepřidá do zásad zabezpečení Provést úlohy údržby svazků. Jinými slovy, inicializace okamžitých souborů není v imagi platformy SQL Server Azure povolená. Po přidání účtu služby SQL Server do zásad zabezpečení Provést úlohy údržby svazků restartujte službu SQL Serveru. Při používání této funkce může být potřeba zvážit aspekty zabezpečení. Další informace naleznete v tématu Inicializace souboru databáze.

  • Autogrow je nepředvídaný případ pro neočekávaný růst. Nespravujte data a protokolujte růst na denní bázi pomocí automatického zvětšování. Pokud se použije automatické zvětšování, předvyroste soubor pomocí přepínače Velikost .

  • Ujistěte se, že je autoshrink zakázané, aby nedocházelo k zbytečným režijním nákladům, které můžou negativně ovlivnit výkon.

  • Nastavte výchozí umístění záložních souborů a souborů databáze. Použijte doporučení v tomto článku a proveďte změny v okně Vlastnosti serveru. Pokyny najdete v tématu Zobrazení nebo změna výchozích umístění pro soubory dat a protokolů (SQL Server Management Studio). Následující snímek obrazovky ukazuje, kde provést tyto změny:

    Zobrazení nebo změna výchozích umístění

  • Povolte uzamčené stránky, abyste snížili vstupně-výstupní operace a všechny aktivity stránkování. Další informace naleznete v tématu Povolení zamykací stránky v paměti možnost (Windows).

  • Při přenosu do nebo z Azure Stack Hubu, včetně záloh, zvažte komprimaci datových souborů.

Pokyny pro konkrétní funkce

Některá nasazení mohou dosáhnout dalších výhod výkonu pomocí pokročilejších technik konfigurace. Následující seznam obsahuje některé funkce SQL Serveru, které vám můžou pomoct dosáhnout lepšího výkonu:

  • Zálohujte do úložiště Azure. Při vytváření záloh pro SQL Server spuštěný na virtuálních počítačích azure Stack Hub můžete k adrese URL použít zálohování SQL Serveru. Tato funkce je dostupná od VERZE SQL Server 2012 SP1 CU2 a doporučuje se zálohovat na připojené datové disky.

    Při zálohování nebo obnovení pomocí úložiště Azure postupujte podle doporučení uvedených ve službě SQL Server Backup na osvědčené postupy a řešení potíží a obnovení ze záloh uložených v Microsoft Azure. Tyto zálohy můžete také automatizovat pomocí automatizovaného zálohování SQL Serveru na virtuálních počítačích Azure.

  • Zálohujte do úložiště služby Azure Stack Hub. Úložiště služby Azure Stack Hub můžete zálohovat podobným způsobem jako zálohování do služby Azure Storage. Při vytváření zálohy v aplikaci SQL Server Management Studio (SSMS) je nutné zadat konfigurační informace ručně. SSMS nemůžete použít k vytvoření kontejneru úložiště nebo sdíleného přístupového podpisu. SSMS se připojuje jenom k předplatným Azure, ne k předplatným služby Azure Stack Hub. Místo toho musíte vytvořit účet úložiště, kontejner a sdílený přístupový podpis na portálu Azure Stack Hub nebo pomocí PowerShellu.

    Zálohování SQL Serveru

    Poznámka:

    Sdílený přístupový podpis je token SAS z portálu služby Azure Stack Hub bez úvodního znaku "?" v řetězci. Pokud používáte funkci kopírování z portálu, musíte odstranit úvodní symbol "?", aby token fungoval v rámci SQL Serveru.

    Jakmile máte v SQL Serveru nastavený a nakonfigurovaný cíl zálohování, můžete ho pak zálohovat do úložiště objektů blob služby Azure Stack Hub.

Další kroky

Použití služeb nebo vytváření aplikací pro Azure Stack Hub