Určení správného SKU Azure SQL Database, Azure SQL Managed Instance nebo SQL Serveru na virtuálním počítači Azure pro vaši lokální databázi
Důležitý
Data Migration Assistant (DMA) je zastaralý. Možnosti migrace z SQL Serveru do Azure SQL najdete v tématu možnosti migrace SQL Serveru do Azure SQL.
Migrace databází do cloudu může být složitá. Zvláště když se snažíte vybrat nejlepší cíl a SKU pro Azure SQL Database, SQL Managed Instance nebo SQL Server na Azure VM pro vaši databázi.
Nástroj Database Migration Assistant (DMA) pomáhá řešit tyto otázky a usnadnit migraci databáze tím, že poskytuje doporučení SKU ve snadno použitelném formátu. Použitím výkonových dat může DMA nyní doporučit vhodný cílový typ SKU pro Azure SQL a poskytnout vysvětlení tohoto doporučení.
Funkce pro doporučení SKU umožňuje jak shromažďování dat o výkonu ze zdrojových instancí SQL Serveru hostujících vaše databáze, tak doporučení minimální úrovně SKU pro Azure SQL Database, Azure SQL Managed Instance nebo SQL Server na virtuálním počítači Azure na základě shromážděných dat. Tato funkce poskytuje doporučení související s cenovou úrovní, úrovní výpočetních prostředků a velikostí dat. Tato funkce je aktuálně dostupná pouze prostřednictvím rozhraní příkazového řádku (CLI).
Následující pokyny vám pomůžou určit doporučení skladové položky a zřídit odpovídající databáze v Azure pomocí DMA.
Poznámka
Pokud v prostředí VMware posuzujete celá datová aktiva SQL Serveru ve velkém měřítku, použijte azure Migrate k získání doporučení k nasazení Azure SQL, určení velikosti a měsíčních odhadů.
Požadavky
- Stáhněte a nainstalujte nejnovější verzi DMA . Pokud už máte starší verzi nástroje, otevřete ji a zobrazí se výzva k upgradu DMA.
- Nainstalujte minimální verzi .NET Core 6.0 na počítač s nástroji, na kterém je spuštěná konzolová aplikace doporučení skladové položky.
- Ujistěte se, že účet použitý k připojení k místnímu zdroji SQL Serveru má oprávnění správce systému.
Poznámka
Doporučuje se, aby se tento nástroj využíval z samostatného počítače nástrojů (klienta) s připojením k cílovým instancím SQL, nikoli z počítače, který je hostitelem SQL Serveru samotného, aby se minimalizovala potenciální režie. Při shromažďování dat o výkonu pro doporučení skladové položky se doporučuje spustit nástroj s výchozími hodnotami nastavení během několika hodin, které pokrývají úlohy mimo špičku i v její době a s výjimkou úloh údržby, jako je opětovné sestavení indexu nebo zálohování databáze. Úlohy údržby můžou ovlivnit spotřebu procesoru, paměti a vstupně-výstupních operací a následně zvýšit doporučené úrovně skladových položek.
Shromažďování dat o výkonu
Shromážděná data zahrnují omezené informace o konfiguraci hardwaru vašeho serveru a agregovaná data výkonu specifická pro SQL ze zobrazení dynamické správy systému, jako jsou procesor, paměť, využití úložiště, propustnost vstupně-výstupních operací a latence vstupně-výstupních operací. Shromážděná data se ukládají místně na vašem počítači pro další agregaci a analýzu. Charakteristiky výkonu vaší zdrojové instance se analyzují, aby bylo možné povolit doporučení skladové položky pro nabídky Azure SQL (včetně SQL Database, SQL Managed Instance a SQL na virtuálním počítači Azure), které nejlépe vyhovují vaší úloze a zároveň jsou nákladově efektivní.
V instalační cestě DMA vyhledejte složku SQLAssessmentConsole a aplikaci SqlAssessment.exe.
Chcete-li spustit proces shromažďování dat, zadejte PerfDataCollection
akci v konzolové aplikaci s následujícími argumenty:
-
sqlConnectionStrings
: (povinné) Formální řetězce připojení uzavřené v uvozovkách pro cílové instance SQL. -
perfQueryIntervalInSec
(volitelné): Interval dotazování dat o výkonu v sekundách. (Výchozí hodnota:30
). -
staticQueryIntervalInSec
(volitelné): Interval dotazování a zachování statických konfiguračních dat v sekundách. (Výchozí hodnota:60
). -
numberOfIterations
(volitelné): Počet iterací shromažďování dat o výkonu, které se mají provést před uložením do souboru. Například s výchozími hodnotami se data o výkonu uchovávají každých 30 sekund × 20 iterací = 10 minut. (Výchozí hodnota:20
). -
outputFolder
(volitelné): Složka, do které se zapisují a ze které se čtou údaje o výkonu, sestavy a protokoly. (Výchozí hodnota:%LocalAppData%/Microsoft/SqlAssessmentConsole
).
Následující příklad je ukázkové vyvolání:
.\SqlAssessment.exe PerfDataCollection
--sqlConnectionStrings "Data Source=Server1;Initial Catalog=master;Integrated Security=True;" "Data Source=Server2;Initial Catalog=master;Integrated Security=True;"
--outputFolder C:\Output
Proces shromažďování dat lze také vyvolat zadáním příslušných argumentů do konfiguračního souboru JSON a předáním konfiguračního souboru nástroji spuštěním spustitelného souboru bez akce následujícím způsobem:
.\SqlAssessment.exe --configFile C:\path\to\config.json
Následující ukázkový soubor ConfigFile odpovídá akci shromažďování dat výkonu popsanou výše:
{
"action": "PerfDataCollection",
"sqlConnectionStrings": [
"Data Source=Server1;Initial Catalog=master;Integrated Security=True;",
"Data Source=Server2;Initial Catalog=master;Integrated Security=True;"
],
"outputFolder": "C:\\Output"
}
Ukázkové konfigurační soubory pro všechny akce najdete ve složce Example
v instalační cestě DMA: GetMetadataSampleConfigFile.json, PerfDataCollectionSampleConfigFile.jsona GetSkuRecommendationSampleConfigFile.json.
Po provedení příkazu se datové body výkonu a konfigurace uloží jako sada tří *_Counters.csv souborů na cílovou instanci, z nichž každý obsahuje server a název instance. Tento soubor můžete použít jako vstup pro další část procesu, která poskytne doporučení skladové položky pro Azure SQL Database, Azure SQL Managed Instance nebo SQL Server na virtuálním počítači Azure.
Získání doporučení skladové položky pomocí konzolové aplikace
Datové body shromážděné v předchozím kroku se používají jako vstup pro proces doporučení skladové položky.
Pro možnost jednoúčelové databáze poskytuje DMA doporučení pro jednoúčelovou úroveň databáze Azure SQL Database, úroveň výpočetních prostředků a doporučenou konfiguraci úložiště pro každou databázi ve vaší instanci SQL.
Doporučení pro Azure SQL Managed Instance a SQL Server na virtuálním počítači Azure podporují scénář "lift and shift". V důsledku toho vám konzolová aplikace s doporučeními skladové položky může poskytnout doporučení pro azure SQL Managed Instance nebo SQL Server na úrovni virtuálního počítače Azure, výpočetní úroveň a doporučenou konfiguraci úložiště pro sadu databází ve vaší instanci SQL. Můžete také zadat pouze podmnožinu databází, které se mají zahrnout nebo vyloučit z doporučení skladové položky.
GetSkuRecommendation
ve výchozím nastavení používá standardní strategii, která mapuje hodnoty shromážděných dat o výkonu pro úlohu (na základě zadané hodnoty percentilu) na správnou skladovou položku Azure SQL.
Nabízíme také elastickou strategii (statistický přístup), která vygeneruje jedinečnou křivku cena-výkon na základě shromážděných dat tím, že analyzuje vzory úloh s využitím modelu založeného na zkušenostech zákazníků, kteří již migrovali do Azure SQL.
Pokud chcete spustit proces doporučení skladové položky, zadejte v konzolové aplikaci GetSkuRecommendation
akci s následujícími argumenty:
-
perfQueryIntervalInSec
(volitelné): Interval dotazování dat o výkonu v sekundách. Poznámka: Zadaná hodnota se musí shodovat s hodnotou, která byla původně použita při shromažďování dat o výkonu. (Výchozí:30
) -
targetPlatform
(volitelné): Cílová platforma pro doporučení skladové položky:AzureSqlDatabase
,AzureSqlManagedInstance
,AzureSqlVirtualMachine
neboAny
. VolbaAny
umožňuje vyhodnotit doporučení SKU pro všechny tři cílové platformy a nejlepší varianta je vrácena. (Výchozí:Any
) -
targetSqlInstance
(volitelné): Název instance SQL, na kterou cílí doporučení skladové položky. (Výchozí nastavení:outputFolder
vyhledává soubory vytvořené akcí PerfDataCollection a pro každou nalezenou instanci jsou poskytnuta doporučení.) -
targetPercentile
(volitelné): Percentil datových bodů, které se mají použít při agregaci dat o výkonu. Používá se pouze pro základní (ne elastickou) strategii. Používá se pouze pro základní (neelastickou) strategii. (Výchozí:95
) -
scalingFactor
(volitelné): Faktor škálování ('comfort') použitý během doporučení SKU. Pokud se například zjistí, že existuje požadavek na procesor se 4 virtuálními jádry s faktorem škálování 150%, pak je skutečný požadavek na procesor 6 virtuálních jader. (Výchozí:100
) -
startTime
(nepovinný): Čas zahájení výkonu datových bodů UTC, který je potřeba vzít v úvahu během agregace, ve formátuyyyy-MM-dd HH:mm
. Používá se pouze pro základní (neelastickou) strategii. (Výchozí nastavení: všechny shromážděné datové body se berou v úvahu) -
endTime
(volitelné): Koncový čas UTC datových bodů výkonu, který je potřeba vzít v úvahu během agregace, ve formátuyyyy-MM-dd HH:mm
. Používá se pouze pro základní (neelastickou) strategii. (Výchozí nastavení: všechny shromážděné datové body se považují za platné.) -
elasticStrategy
(volitelné): Určuje, jestli chcete použít elastickou strategii pro doporučení skladové položky na základě profilace využití prostředků a analýzy výkonu nákladů. Elastická strategie je aktuálně dostupná pro azure SQL Database a SQL Managed Instance, zatím není dostupná pro SQL Server na virtuálním počítači Azure. (Výchozí:false
) -
databaseAllowList
(volitelné): Seznam názvů databází oddělených mezerami, které mají být povoleny pro zvážení doporučení skladové položky, a současně s výjimkou všech ostatních. Nastavte pouze jednu z těchto možností nebo žádnou: databaseAllowList, databaseDenyList. (Výchozí:null
) -
databaseDenyList
(volitelné): Seznam názvů databází oddělených mezerami, které mají být vyloučeny pro doporučení skladové položky. Nastavte pouze jednu z následujících možností, nebo žádnou: databaseAllowList, databaseDenyList. (Výchozí:null
) -
overwrite
(volitelné): Určuje, zda přepsat všechny existující zprávy s doporučeními pro SKU. (Výchozí:true
) -
displayResult
(volitelné): Určuje, jestli chcete v konzole vytisknout výsledky doporučení skladové položky. (Výchozí:true
) -
outputFolder
(volitelné): Složka, do které se zapisují a ze které se čtou údaje o výkonu, sestavy a protokoly. (Výchozí:%LocalAppData%\Microsoft\SqlAssessment
) -
suppressPreviewFeatures
(volitelné): Pokud je hodnota nastavena na true, žádná funkce Azure, která je v období Preview, není zahrnuta v doporučení. (Výchozí:false
)
Upřesňující nastavení doporučení skladové položky najdete v souboru Console.Settings.json
v kořenovém adresáři. V současné době obsahuje následující přizpůsobitelné parametry:
CommandTimeoutGroupSetting
: Doba v sekundách čekání na spuštění příkazů dotazu SQL před vypršením časového limitu.
-
PerfCollectionCommandTimeout
: Vypršení časového limitu příkazu pro potenciálně dlouhotrvající dotazy související s shromažďováním dat o výkonu (výchozí hodnota: 300) -
DefaultCollectionCommandTimeout
: Vypršení časového limitu příkazu pro všechny ostatní dotazy (výchozí:120
)
ThrottlingGroupSetting
: Počet paralelních úloh, které se mají vytvořit na základě počtu jader na počítači
-
ServerInstancesParallelCount
: Počet instancí serveru, které se mají vyhodnotit paralelně (výchozí hodnota:2
) -
DatabasesParallelCount
: Počet databází, které se mají vyhodnotit paralelně (výchozí hodnota:4
) -
UserDefinedObjectsParallelCountPerDb
: Počet uživatelem definovaných objektů (uložené procedury, zobrazení, triggery atd.) k vyhodnocení paralelně na databázi (výchozí:4
)
AllowTelemetry
: Určuje, zda je povoleno shromažďování a přenos anonymních údajů o používání funkcí a diagnostických datech do Microsoftu. (Výchozí: true
)
Případně můžete proces doporučení skladové položky vyvolat zadáním příslušných argumentů do konfiguračního souboru JSON a předáním konfiguračního souboru nástroji spuštěním spustitelného souboru bez akce následujícím způsobem:
.\SqlAssessment.exe --configFile C:\path\to\config.json
Následující konfigurační soubor je ekvivalentní akci doporučení skladové položky popsané výše:
{
"action": "GetSkuRecommendation",
"outputFolder": "C:\\Output",
"targetPlatform": "AzureSqlDatabase",
"targetSqlInstance": "Server1",
"targetPercentile": 95,
"scalingFactor": 100,
"startTime": "2020-01-01 00:00",
"endTime": "2022-01-01 00:00",
"perfQueryIntervalInSec": 30,
"overwrite": "true"
}
Pokud chcete získat doporučení skladové položky pro konkrétní platformu Azure SQL místo automatického výběru, zadejte hodnotu pro možnost --targetPlatform
následujícím způsobem:
Ukázka 1: Získání doporučení skladové položky pro Azure SQL Database
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlDatabase
Ukázka 2: Získání doporučení skladové položky s využitím elastické strategie pro službu Azure SQL Managed Instance
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlManagedInstance
--elasticStrategy true
Ukázka 3: Získání doporučení skladové položky pro virtuální počítač Azure SQL
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlVirtualMachine
Ukázka 4: Získání doporučení skladové položky pro virtuální počítač Azure SQL a potlačení funkcí ve verzi Preview
.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlVirtualMachine
--suppressPreviewFeatures True
Následující snímek obrazovky je příkladem výstupu doporučení služby Azure SQL Database:
Následující snímek obrazovky je příkladem výstupu doporučení služby Azure SQL Managed Instance:
Následující snímek obrazovky je příklad výstupu doporučení pro SQL Server na virtuálním počítači Azure.
Výstup doporučení skladové položky se uloží jak ve formě podrobné sestavy ve formátu JSON, tak i jako souhrnný a snadno čitelný soubor ve formátu HTML. Výstup se zabývá následujícími částmi:
- název instance: Název místní instance SQL Serveru.
- Název databáze: Název místní databáze SQL Serveru.
- doporučení skladové položky: Minimální nákladově efektivní skladová položka nabízející všechny skladové položky s nároky na výkon, které by mohly vyhovovat vašim úlohám.
- důvod doporučení: Pro každou doporučenou úroveň poskytujeme důvody a shromážděné hodnoty dat, které doporučení řídí.
Konečné doporučené hodnoty úrovně a konfigurace pro danou úroveň odrážejí minimální skladovou položku potřebnou pro vaše dotazy ke spuštění v Azure s úspěšností podobnou vaší místní databázi.