Azure-javaslatok lekérése az SQL Server-adatbázis migrálásához

Az Azure Data Studio Azure SQL Migration bővítménye segít felmérni az adatbázis követelményeit, beszerezni a megfelelő méretű termékváltozat-javaslatokat az Azure-erőforrásokhoz, és migrálni az SQL Server-adatbázist az Azure-ba.

Megtudhatja, hogyan használhatja ezt az egységes felületet, és hogyan gyűjthet teljesítményadatokat a forrás SQL Server-példányból, hogy megfelelő méretű Azure-javaslatokat kapjon az Azure SQL-célokhoz.

Áttekintés

Az Azure SQL-be való migrálás előtt az Azure Data Studióban található SQL Migration-bővítmény segítségével hozhat létre megfelelő méretű javaslatokat az Azure SQL Database, az Azure SQL Managed Instance és az SQL Server számára azure-beli virtuális gépeken. Az eszköz segít összegyűjteni a teljesítményadatokat a forrás SQL-példányból (helyszíni vagy más felhőben), és javaslatot tesz a számítási feladatok igényeinek megfelelő számítási és tárolási konfigurációra.

A diagram az Azure Data Studio Azure SQL Migration bővítményében található Azure-javaslatok munkafolyamatát mutatja be:

Diagram that shows the workflow of the SKU recommendation process.

Megjegyzés:

Az Azure Data Studio Azure SQL Migration bővítményének felmérési és Azure-ajánlási funkciója támogatja a Windowson vagy Linuxon futó forrás SQL Server-példányokat.

Előfeltételek

Az SQL Server-adatbázis migrálására vonatkozó Azure-javaslatok használatának megkezdéséhez meg kell felelnie az alábbi előfeltételeknek:

Támogatott források és célok

Az Azure-javaslatok a következő SQL Server-verziókhoz hozhatók létre:

  • Windows vagy Linux rendszeren az SQL Server 2008 és újabb verziói támogatottak.
  • A más felhőkben futó SQL Server támogatott lehet, de az eredmények pontossága eltérő lehet

Az Azure-javaslatok a következő Azure SQL-célokhoz hozhatók létre:

  • Azure SQL Database
    • Hardvercsaládok: Standard sorozat (Gen5)
    • Szolgáltatási szintek: Általános célú, üzletileg kritikus, Rugalmas skálázás
  • Felügyelt Azure SQL-példány
    • Hardvercsaládok: Standard sorozat (Gen5), Prémium sorozat, Prémium sorozatú memóriaoptimalizált
    • Szolgáltatási szintek: Általános célú, üzletileg kritikus
  • SQL Server az Azure-beli virtuális gépen
    • Virtuálisgép-családok: Általános célú, memóriaoptimalizált
    • Tárolócsaládok: Prémium SSD

Teljesítményadatok gyűjtése

A javaslatok létrehozása előtt teljesítményadatokat kell gyűjteni a forrás SQL Server-példányból. Az adatgyűjtési lépés során a rendszer lekérdezi az SQL Server-példány több dinamikus rendszernézetét (DMV-jét) a számítási feladat teljesítményjellemzőinek rögzítéséhez. Az eszköz 30 másodpercenként rögzíti a metrikákat, köztük a processzor- és memóriahasználatot, a tárolást és az I/O-használatot, és csV-fájlok készleteként helyileg menti a teljesítményszámlálókat a gépre.

Példányszint

Ezeket a teljesítményadatokat SQL Server-példányonként egyszer gyűjtjük össze:

Teljesítménydimenzió Leírás Dinamikus felügyeleti nézet (DMV)
SqlInstanceCpuPercent Az SQL Server-folyamat által használt processzor mennyisége százalékban sys.dm_os_ring_buffers
PhysicalMemoryInUse Az SQL Server-folyamat teljes memóriaigénye sys.dm_os_process_memory
MemoryUtilizationPercentage AZ SQL Server memóriakihasználtsága sys.dm_os_process_memory

Adatbázis szintje

Teljesítménydimenzió Leírás Dinamikus felügyeleti nézet (DMV)
DatabaseCpuPercent Az adatbázis által használt processzor teljes százalékos aránya sys.dm_exec_query_stats
CachedSizeInMb Adatbázis által használt gyorsítótár teljes mérete megabájtban sys.dm_os_buffer_descriptors

Fájlszint

Teljesítménydimenzió Leírás Dinamikus felügyeleti nézet (DMV)
ReadIOInMb A fájlból beolvasott megabájtok teljes száma sys.dm_io_virtual_file_stats
WriteIOInMb A fájlba írt megabájtok teljes száma sys.dm_io_virtual_file_stats
NumOfReads A fájlban kiadott olvasások teljes száma sys.dm_io_virtual_file_stats
NumOfWrites A fájlban kiadott írások teljes száma sys.dm_io_virtual_file_stats
Olvasási jogosultság A fájl I/O-olvasási késése sys.dm_io_virtual_file_stats
WriteLatency A fájl I/O-írási késése sys.dm_io_virtual_file_stats

A javaslatok létrehozása előtt legalább 10 percnyi adatgyűjtésre van szükség, de a számítási feladatok pontos felméréséhez ajánlott az adatgyűjtést kellő ideig futtatni a csúcsidőn kívüli és a csúcsidőn kívüli használat rögzítéséhez.

Az adatgyűjtési folyamat elindításához először csatlakozzon a forrás SQL-példányhoz az Azure Data Studióban, majd indítsa el az SQL Migration varázslót. A 2. lépésben válassza az "Azure-javaslat lekérése" lehetőséget. Válassza a "Teljesítményadatok gyűjtése most" lehetőséget, és válasszon ki egy mappát a számítógépen, ahol az összegyűjtött adatok mentésre kerülnek.

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

Fontos

Az adatgyűjtési folyamat 10 percig fut az első javaslat létrehozásához. Fontos, hogy elindítsa az adatgyűjtési folyamatot, ha az aktív adatbázis számítási feladatai az éles forgatókönyvekhez hasonló használatot tükrözik.

Az első javaslat létrehozása után továbbra is futtathatja az adatgyűjtési folyamatot a javaslatok finomítása érdekében. Ez a beállítás különösen akkor hasznos, ha a használati minták idővel eltérőek.

Az adatgyűjtési folyamat a Start gomb kiválasztása után kezdődik. A rendszer 10 percenként összesíti az összegyűjtött adatpontokat, és az egyes számlálók maximális, középérték és varianciája lemezre lesz írva három CSV-fájlból álló készletbe.

A kijelölt mappában általában a következő utótagokkal rendelkező CSV-fájlok láthatók:

  • SQLServerInstance_CommonDbLevel_Counters.csv: Statikus konfigurációs adatokat tartalmaz az adatbázisfájl elrendezéséről és metaadatairól.
  • SQLServerInstance_CommonInstanceLevel_Counters.csv: Statikus adatokat tartalmaz a kiszolgálópéldány hardverkonfigurációjáról.
  • SQLServerInstance_PerformanceAggregated_Counters.csv: A gyakran frissített összesített teljesítményadatokat tartalmazza.

Ez idő alatt hagyja nyitva az Azure Data Studio-t, de folytathatja a további műveleteket. Bármikor leállíthatja az adatgyűjtési folyamatot, ha visszatér erre a lapra, és válassza az Adatgyűjtés leállítása lehetőséget.

Megfelelő méretű javaslatok létrehozása

Ha már gyűjtött teljesítményadatokat egy előző munkamenetből, vagy egy másik eszközzel (például a Database Migration Assistanttel) importálhatja a meglévő teljesítményadatokat, ha bejelöli azt a lehetőséget , hogy már rendelkezem a teljesítményadatokkal. Válassza ki azt a mappát, amelyben a teljesítményadatok (három .csv fájl) mentésre kerülnek, és válassza a Start lehetőséget a javaslati folyamat elindításához.

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

Megjegyzés:

Az SQL Migration varázsló első lépése arra kéri, hogy válasszon ki egy kiértékelendő adatbáziskészletet, és ezek az egyetlen adatbázisok, amelyeket figyelembe veszünk a javaslati folyamat során.

A teljesítményadat-gyűjtési folyamat azonban a forrás SQL Server-példányból származó összes adatbázis teljesítményszámlálóit gyűjti, nem csak a kiválasztott adatbázisokat.

Ez azt jelenti, hogy a korábban gyűjtött teljesítményadatokkal az adatbázisok egy másik részhalmazára vonatkozó javaslatok ismételt újragenerálhatók egy másik lista megadásával az első lépésben.

Javaslati paraméterek

A javaslatokra több konfigurálható beállítás is hatással lehet.

Screenshot that shows the recommendation parameters section.

A Paraméterek szerkesztése lehetőséget választva igény szerint módosíthatja ezeket a paramétereket.

Screenshot that shows the different recommendation parameters.

  • Skálázási tényező:
    Ez a beállítás lehetővé teszi, hogy az egyes teljesítménydimenziókra vonatkozó puffert adjon meg. Ez a beállítás olyan problémákat is figyelembe nyújt, mint a szezonális használat, a rövid teljesítményelőzmények és a jövőbeli használat valószínű növekedése. Ha például azt állapítja meg, hogy egy négy virtuális magos CPU-követelmény 150%-os méretezési tényezővel rendelkezik, a valódi CPU-követelmény hat virtuális mag.

    Az alapértelmezett méretezési tényező kötete 100%.

  • Százalékos kihasználtság:
    A teljesítményadatokként használandó adatpontok percentilise aggregált.

    Az alapértelmezett érték a 95. percentilis.

  • Előzetes verziójú funkciók engedélyezése:
    Ez a beállítás lehetővé teszi olyan konfigurációk használatát, amelyek még nem minden régió összes felhasználója számára érhetők el általánosan.

    Ez a beállítás alapértelmezés szerint ki van kapcsolva.

  • Rugalmas javaslat engedélyezése:

    Ez a lehetőség egy alternatív javaslatmodellt használ, amely személyre szabott ár-teljesítmény profilkészítést használ a meglévő felhőbeli ügyfelek számára.

    Ez a beállítás alapértelmezés szerint ki van kapcsolva.

Fontos

Az adatgyűjtési folyamat leáll, ha bezárja az Azure Data Studiót. Az eddig összegyűjtött adatok a mappába kerülnek.

Ha bezárja az Azure Data Studiót, amíg az adatgyűjtés folyamatban van, az adatgyűjtés újraindításához használja az alábbi lehetőségek egyikét:

  • Nyissa meg újra az Azure Data Studiót, és importálja a helyi mappába mentett adatfájlokat. Ezután hozzon létre egy javaslatot az összegyűjtött adatokból.
  • Nyissa meg újra az Azure Data Studiót, és indítsa újra az adatgyűjtést a migrálási varázslóval.

Minimális engedélyek

A teljesítményadatok gyűjtéséhez szükséges rendszernézetek lekérdezéséhez adott engedélyekre van szükség a feladathoz használt SQL Server-bejelentkezéshez. A következő szkripttel létrehozhat egy minimális jogosultsággal rendelkező felhasználót az értékeléshez és a teljesítményadatok gyűjtéséhez:

-- 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];

Nem támogatott forgatókönyvek és korlátozások

  • Az Azure Javaslatok nem tartalmazzák az árbecsléseket, mivel ez a helyzet régiótól, pénznemtől és kedvezményektől, például az Azure Hybrid Benefittől függően változhat. Az árbecslések lekéréséhez használja az Azure Díjkalkulátort, vagy hozzon létre egy SQL-értékelést az Azure Migrate-ben.
  • Javaslatok az Azure SQL Database-hez a A DTU-alapú vásárlási modell nem támogatott.
  • Jelenleg nem támogatottak az Azure SQL Database kiszolgáló nélküli számítási rétegére és rugalmas készleteire vonatkozó Azure-javaslatok.

Hibaelhárítás

  • Nincsenek létrehozott javaslatok
    • Ha nem jönnek létre javaslatok, ez a helyzet azt jelentheti, hogy nincsenek olyan konfigurációk, amelyek teljes mértékben kielégíthetik a forráspéldány teljesítménykövetelményeit. Annak érdekében, hogy megtekintse egy adott méret, szolgáltatási szint vagy hardvercsalád kizárásának okait:
      • A naplók elérése az Azure Data Studióból az Összes parancs > megnyitása bővítménynaplók mappájának megjelenítéséhez >
      • Lépjen a Microsoft.mssql > SqlAssessmentLogs > open SkuRecommendationEvent.log webhelyre
      • A napló minden értékelt lehetséges konfiguráció nyomát tartalmazza, és annak okát, hogy miért nem tekinthető jogosult konfigurációnak: Screenshot that shows SKU recommendations log.
    • Próbálja meg újragenerálni a javaslatot, ha engedélyezve van a rugalmas javaslat . Ez a lehetőség egy alternatív javaslatmodellt használ, amely személyre szabott ár-teljesítmény profilkészítést használ a meglévő felhőbeli ügyfelek számára.

Következő lépések