Získání doporučení Azure k migraci databáze SQL Serveru

Rozšíření Azure SQL Migration pro Azure Data Studio vám pomůže vyhodnotit požadavky na databázi, získat doporučení skladové položky správné velikosti pro prostředky Azure a migrovat databázi SQL Serveru do Azure.

Zjistěte, jak používat toto jednotné prostředí a shromažďovat data o výkonu ze zdrojové instance SQL Serveru, abyste získali doporučení Azure s správnou velikostí pro vaše cíle Azure SQL.

Přehled

Před migrací na Azure SQL můžete pomocí rozšíření SQL Migration v Nástroji Azure Data Studio vygenerovat doporučení správné velikosti pro cíle Azure SQL Database, Azure SQL Managed Instance a SQL Serveru na virtuálních počítačích Azure. Tento nástroj vám pomůže shromažďovat údaje o výkonu ze zdrojové instance SQL (spuštěné místně nebo v jiném cloudu) a doporučovat konfiguraci výpočetních prostředků a úložiště, aby vyhovovala potřebám vaší úlohy.

Diagram představuje pracovní postup doporučení Azure v rozšíření Azure SQL Migration pro Azure Data Studio:

Diagram that shows the workflow of the SKU recommendation process.

Poznámka:

Posouzení a funkce doporučení Azure v rozšíření Azure SQL Migration pro Azure Data Studio podporují zdrojové instance SQL Serveru spuštěné ve Windows nebo Linuxu.

Předpoklady

Pokud chcete začít s doporučeními Azure pro migraci databáze SQL Serveru, musíte splnit následující požadavky:

Podporované zdroje a cíle

Doporučení Azure je možné vygenerovat pro následující verze SQL Serveru:

  • Sql Server 2008 a novější verze ve Windows nebo Linuxu jsou podporované.
  • SQL Server spuštěný v jiných cloudech se může podporovat, ale přesnost výsledků se může lišit.

Doporučení Azure je možné vygenerovat pro následující cíle Azure SQL:

  • Azure SQL Database
    • Hardwarové řady: Řada Standard (Gen5)
    • Úrovně služby: Pro obecné účely, Pro důležité obchodní informace, Hyperscale
  • Spravovaná instance Azure SQL
    • Hardwarové řady: Řada Standard (Gen5), Řada Premium, optimalizováno pro paměť řady Premium
    • Úrovně služby: Pro obecné účely, Pro důležité obchodní informace
  • SQL Server na virtuálním počítači Azure
    • Rodiny virtuálních počítačů: Pro obecné účely, optimalizováno pro paměť
    • Rodiny úložišť: SSD úrovně Premium

Shromažďování dat o výkonu

Před generováním doporučení je potřeba shromažďovat data o výkonu ze zdrojové instance SQL Serveru. Během tohoto kroku shromažďování dat se dotazuje více dynamických zobrazení systému (DMV) z vaší instance SQL Serveru, aby zachytilo charakteristiky výkonu vaší úlohy. Nástroj zaznamenává metriky, včetně využití procesoru, paměti, úložiště a vstupně-výstupních operací každých 30 sekund, a ukládá čítače výkonu místně do počítače jako sadu souborů CSV.

Úroveň instance

Tato data o výkonu se shromažďují jednou na instanci SQL Serveru:

Dimenze výkonu Popis Zobrazení dynamické správy (DMV)
SqlInstanceCpuPercent Množství procesoru, které proces SQL Serveru používal, jako procento sys.dm_os_ring_buffers
PhysicalMemoryInUse Celkové nároky na paměť procesu SQL Serveru sys.dm_os_process_memory
MemoryUtilizationPercentage Využití paměti SQL Serveru sys.dm_os_process_memory

Úroveň databáze

Dimenze výkonu Popis Zobrazení dynamické správy (DMV)
DatabaseCpuPercent Celkové procento procesoru používaného databází sys.dm_exec_query_stats
CachedSizeInMb Celková velikost v megabajtech mezipaměti používané databází sys.dm_os_buffer_descriptors

Úroveň souboru

Dimenze výkonu Popis Zobrazení dynamické správy (DMV)
ReadIOInMb Celkový počet megabajtů přečtených z tohoto souboru sys.dm_io_virtual_file_stats
WriteIOInMb Celkový počet megabajtů zapsaných do tohoto souboru sys.dm_io_virtual_file_stats
NumOfReads Celkový počet čtení vydaných v tomto souboru sys.dm_io_virtual_file_stats
NumOfWrites Celkový počet zápisů vydaných v tomto souboru sys.dm_io_virtual_file_stats
ReadLatency Latence vstupně-výstupních operací čtení v tomto souboru sys.dm_io_virtual_file_stats
WriteLatency Latence vstupně-výstupních operací zápisu v tomto souboru sys.dm_io_virtual_file_stats

Aby bylo možné vygenerovat doporučení, vyžaduje se minimálně 10 minut shromažďování dat, ale k přesnému vyhodnocení úlohy se doporučuje spustit shromažďování dat po dobu dostatečně dlouhou dobu, aby bylo možné zachytit využití ve špičce i mimo špičku.

Pokud chcete zahájit proces shromažďování dat, začněte připojením ke zdrojové instanci SQL v nástroji Azure Data Studio a pak spusťte průvodce migrací SQL. V kroku 2 vyberte Získat doporučení Azure. Vyberte "Shromáždit údaje o výkonu nyní" a vyberte složku na vašem počítači, kde budou shromážděná data uložena.

Screenshot that shows the wizard pane to collect performance data for SKU recommendations.

Důležité

Proces shromažďování dat se spustí po dobu 10 minut, aby se vygenerovalo první doporučení. Proces shromažďování dat je důležité zahájit, když aktivní úloha databáze odráží využití podobné produkčním scénářům.

Po vygenerování prvního doporučení můžete pokračovat ve spuštění procesu shromažďování dat a upřesnit doporučení. Tato možnost je užitečná hlavně v případě, že se vzory využití v průběhu času liší.

Proces shromažďování dat začíná po výběru možnosti Start. Každých 10 minut se shromážděné datové body agregují a maximální, střední a rozptyl každého čítače se zapíšou na disk do sady tří souborů CSV.

Obvykle se ve vybrané složce zobrazí sada souborů CSV s následujícími příponami:

  • SQLServerInstance_CommonDbLevel_Counters.csv: Obsahuje statická konfigurační data o rozložení a metadatech souboru databáze.
  • SQLServerInstance_CommonInstanceLevel_Counters.csv: Obsahuje statická data o konfiguraci hardwaru instance serveru.
  • SQLServerInstance_PerformanceAggregated_Counters.csv: Obsahuje agregovaná data o výkonu, která se často aktualizují.

Během této doby nechte Azure Data Studio otevřené, i když můžete pokračovat v dalších operacích. Proces shromažďování dat můžete kdykoli zastavit tak, že se vrátíte na tuto stránku a vyberete Zastavit shromažďování dat.

Generování doporučení správné velikosti

Pokud jste již shromáždili údaje o výkonu z předchozí relace nebo pomocí jiného nástroje (například databázová Pomocník s migrací), můžete importovat všechna existující data o výkonu výběrem možnosti, kterou už mám data o výkonu. Pokračujte výběrem složky, do které se ukládají data o výkonu (tři soubory CSV) a výběrem možnosti Start zahájíte proces doporučení.

Screenshot that shows the pane to import performance data for a SKU recommendation.

Poznámka:

Krok jednoho z průvodce migrací SQL vás požádá, abyste vybrali sadu databází, které se mají vyhodnotit, a to jsou jediné databáze, které budou při procesu doporučení brány v úvahu.

Proces shromažďování dat o výkonu však shromažďuje čítače výkonu pro všechny databáze ze zdrojové instance SQL Serveru, nikoli pouze ty, které byly vybrány.

To znamená, že dříve shromážděná data o výkonu lze použít k opakovanému opětovnému vygenerování doporučení pro jinou podmnožinu databází zadáním jiného seznamu v kroku 1.

Parametry doporučení

Na vaše doporučení může mít vliv několik konfigurovatelných nastavení.

Screenshot that shows the recommendation parameters section.

Vyberte možnost Upravit parametry a upravte tyto parametry podle svých potřeb.

Screenshot that shows the different recommendation parameters.

  • Faktor škálování:
    Tato možnost umožňuje poskytnout vyrovnávací paměť, která se použije pro každou dimenzi výkonu. Tato možnost představuje problémy, jako jsou sezónní využití, krátká historie výkonu a pravděpodobné zvýšení budoucího využití. Pokud například zjistíte, že požadavek na procesor se čtyřmi virtuálními jádry má měřítko 150 %, skutečný požadavek na procesor je šest virtuálních jader.

    Výchozí objem faktoru škálování je 100 %.

  • Procento využití:
    Percentil datových bodů, které se mají použít jako data o výkonu, se agregují.

    Výchozí hodnota je 95. percentil.

  • Povolení funkcí preview:
    Tato možnost umožňuje doporučené konfigurace, které nemusí být obecně dostupné všem uživatelům ve všech oblastech.

    Tato možnost je ve výchozím nastavení vypnutá.

  • Povolení elastického doporučení:

    Tato možnost používá alternativní model doporučení, který využívá profilaci přizpůsobeného výkonu cen pro stávající zákazníky v cloudu.

    Tato možnost je ve výchozím nastavení vypnutá.

Důležité

Proces shromažďování dat se ukončí, pokud zavřete Azure Data Studio. Data shromážděná až do tohoto bodu se uloží do vaší složky.

Pokud během shromažďování dat zavřete Azure Data Studio, použijte jednu z následujících možností k restartování shromažďování dat:

  • Znovu otevřete Azure Data Studio a naimportujte datové soubory, které jsou uložené v místní složce. Pak vygenerujte doporučení ze shromážděných dat.
  • Znovu otevřete Azure Data Studio a znovu spusťte shromažďování dat pomocí průvodce migrací.

Minimální oprávnění

K dotazování potřebných systémových zobrazení pro shromažďování dat o výkonu jsou pro přihlášení SQL Serveru používaná pro tuto úlohu vyžadována konkrétní oprávnění. Minimální privilegovaný uživatel můžete vytvořit pro shromažďování dat o posouzení a výkonu pomocí následujícího skriptu:

-- Create a login to run the assessment
USE master;
GO

CREATE LOGIN [assessment] WITH PASSWORD = '<STRONG PASSWORD>';

-- Create user in every database other than TempDB and model and provide minimal read-only permissions
EXECUTE sp_MSforeachdb '
   USE [?];
   IF (''?'' NOT IN (''TempDB'',''model''))  
   BEGIN TRY
      CREATE USER [assessment] FOR LOGIN [assessment]
   END TRY
   BEGIN CATCH
      PRINT ERROR_MESSAGE()
   END CATCH'
   
EXECUTE sp_MSforeachdb '
   USE [?];
   IF (''?'' NOT IN (''tempdb'',''model''))  
   BEGIN TRY
      GRANT SELECT ON sys.sql_expression_dependencies TO [assessment]
   END TRY
   BEGIN CATCH
      PRINT ERROR_MESSAGE()
   END CATCH'
   
EXECUTE sp_MSforeachdb '
   USE [?];
   IF (''?'' NOT IN (''tempdb'',''model''))  
   BEGIN TRY
      GRANT VIEW DATABASE STATE TO [assessment]
   END TRY
   BEGIN CATCH
      PRINT ERROR_MESSAGE()
   END CATCH'

-- Provide server level read-only permissions
GRANT SELECT ON sys.sql_expression_dependencies TO [assessment];
GRANT SELECT ON sys.sql_expression_dependencies TO [assessment];
GRANT EXECUTE ON OBJECT::sys.xp_regenumkeys TO [assessment];
GRANT VIEW DATABASE STATE TO assessment;
GRANT VIEW SERVER STATE TO assessment;
GRANT VIEW ANY DEFINITION TO assessment;

-- Provide msdb specific permissions
USE msdb;
GO

GRANT EXECUTE ON [msdb].[dbo].[agent_datetime] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysjobsteps] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[syssubsystems] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysjobhistory] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[syscategories] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysjobs] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysmaintplan_plans] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[syscollector_collection_sets] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysmail_profile] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysmail_profileaccount] TO [assessment];
GRANT SELECT ON [msdb].[dbo].[sysmail_account] TO [assessment];

-- USE master;
-- GO
-- EXECUTE sp_MSforeachdb 'USE [?]; BEGIN TRY DROP USER [assessment] END TRY BEGIN CATCH SELECT ERROR_MESSAGE() END CATCH';
-- DROP LOGIN [assessment];

Nepodporované scénáře a omezení

  • Doporučení Azure nezahrnují odhady cen, protože tato situace se může lišit v závislosti na oblasti, měně a slevách, jako je například Zvýhodněné hybridní využití Azure. Pokud chcete získat odhady cen, použijte cenovou kalkulačku Azure nebo vytvořte posouzení SQL ve službě Azure Migrate.
  • Doporučení pro Azure SQL Database s nákupním modelem založeným na DTU se nepodporují.
  • V současné době se nepodporují doporučení Azure pro bezserverovou výpočetní úroveň služby Azure SQL Database a elastické fondy.

Řešení problému

  • Nevygenerovaná žádná doporučení
    • Pokud nebyla vygenerována žádná doporučení, tato situace by mohla znamenat, že nebyly identifikovány žádné konfigurace, které by mohly plně splňovat požadavky na výkon vaší zdrojové instance. Abyste viděli důvody, proč byla určitá velikost, úroveň služeb nebo řada hardwaru diskvalifikována:
      • Přístup k protokolům ze sady Azure Data Studio tak, že přejdete do nápovědy > k zobrazení složky Všechny příkazy s otevřenými protokoly > rozšíření.
      • Přejděte na Microsoft.mssql > SqlAssessmentLogs > open SkuRecommendationEvent.log
      • Protokol obsahuje trasování každé potenciální konfigurace, která byla posouzena, a důvod, proč se považovala za oprávněnou konfiguraci: Screenshot that shows SKU recommendations log.
    • Zkuste doporučení znovu vygenerovat s povoleným elastickým doporučením. Tato možnost používá alternativní model doporučení, který využívá individuální profilaci výkonu cen pro stávající zákazníky v cloudu.

Další kroky