Megosztás a következőn keresztül:


Az Ön helyszíni adatbázisához megfelelő Azure SQL Database, Azure SQL Managed Instance vagy Azure-on futó SQL Server VM SKU azonosítása.

Fontos

A Data Migration Assistant (DMA) elavultnak nyilvánítva. Az SQL Serverről az Azure SQL-be való migrálási lehetőségekről a című cikkben olvashat.

Az adatbázisok felhőbe való migrálása bonyolult lehet. Különösen akkor, ha a legjobb Azure SQL-adatbázist, felügyelt SQL-példányt vagy SQL Servert próbálja kiválasztani az Azure Virtuális Gépen futó célként és SKU-ként az adatbázisához.

A Database Migration Assistant (DMA) segít megválaszolni ezeket a kérdéseket, és megkönnyíteni az adatbázis migrálását azáltal, hogy felhasználóbarát kimenetben adja meg ezeket a termékváltozat-javaslatokat. A teljesítményadatok DMA-jának használata mostantól javasolhat egy megfelelő cél Azure SQL-termékváltozatot, valamint a javaslat magyarázatát.

Az SKU-javaslatok funkció lehetővé teszi, hogy az adatbázisokat üzemeltető forrás SQL Server-példányok teljesítményadatait is összegyűjtse, és az összegyűjtött adatok alapján javasolja a minimális Azure SQL Database, az Azure SQL Managed Instance vagy az Azure-beli virtuálisgép-termékváltozaton futó SQL Server használatát. A szolgáltatás a tarifacsomaghoz, a számítási szinthez és az adatmérethez kapcsolódó javaslatokat nyújt. Ez a funkció jelenleg csak a parancssori felületen (CLI) érhető el.

Az alábbiakban útmutatást talál az SKU-javaslatok meghatározásához és a megfelelő adatbázisok üzembe helyezéséhez az Azure-ban a DMA használatával.

Jegyzet

Ha a teljes SQL Server-adattulajdont nagy méretekben értékeli a VMware-en, használja Azure Migrate az Azure SQL üzembe helyezési javaslatainak, a célméretezésnek és a havi becsléseknek a lekéréséhez.

Előfeltételek

  • Töltse le és telepítse a DMAlegújabb verzióját. Ha már rendelkezik az eszköz egy korábbi verziójával, nyissa meg, és a rendszer kérni fogja a DMA frissítését.
  • Telepítse a .NET Core 6.0 minimális verzióját azon az eszközgépen, amelyen az SKU-javaslatok konzolalkalmazás fut.
  • Győződjön meg arról, hogy a helyszíni SQL Server-forráshoz való csatlakozáshoz használt fiók rendelkezik sysadmin engedéllyel.

Jegyzet

Javasoljuk, hogy az eszközt egy különálló, a cél SQL-példány(ok)hoz való kapcsolódással rendelkező eszközről (ügyfélgépről) használja ahelyett, hogy magát az SQL Servert futtató gépről használták volna, hogy minimálisra csökkentse a lehetséges többletterhelést. A termékváltozat-javaslatok teljesítményadatainak gyűjtésekor ajánlott, hogy az eszköz az alapértelmezett beállításértékekkel legyen futtatva több órán keresztül, beleértve a csúcsidőn kívüli és a csúcsidőn kívüli számítási feladatokat is, és kizárja az olyan karbantartási feladatokat, mint az index újraépítése vagy a biztonsági mentési adatbázis. A karbantartási feladatok hatással lehetnek a processzor-, memória- és IO-fogyasztásra, és később magasabb ajánlott termékváltozat-szinteket eredményezhetnek.

Teljesítményadatok gyűjtése

Az összegyűjtött adatok korlátozott információkat tartalmaznak a kiszolgáló hardverkonfigurációjáról, valamint a rendszer dinamikus felügyeleti nézeteiből (DMV-k) származó összesített SQL-specifikus teljesítményadatokról, például a CPU-ról, a memóriáról, a tárhasználatról, az IO-átviteli sebességről és az I/O-késésről. Az összegyűjtött adatokat a rendszer helyileg tárolja a számítógépen további összesítés és elemzés céljából. A rendszer elemzi a forráspéldány teljesítményjellemzőit, hogy lehetővé tegye az Azure SQL-ajánlatokhoz (beleértve az SQL Database-t, a felügyelt SQL-példányt és az Azure-beli virtuális gépen futó SQL-t) vonatkozó termékváltozat-javaslatokat, amelyek a legjobban megfelelnek a számítási feladatnak, ugyanakkor költséghatékonyak is.

A DMA telepítési útvonalán keresse meg az SQLAssessmentConsole mappát és a SqlAssessment.exe alkalmazást.

Képernyőkép SKUConsoleApplication.exe fájlról, amely a DMA telepítési mappájának helyén látható.

Az adatgyűjtési folyamat elindításához adja meg a PerfDataCollection műveletet a konzolalkalmazásban a következő argumentumokkal:

  • sqlConnectionStrings: (szükséges) A cél SQL-példányok idézőjelbe foglalt formális kapcsolatkarakterláncai.
  • perfQueryIntervalInSec (nem kötelező): A teljesítményadatok lekérdezésének időköze másodpercben. (Alapértelmezett színkód: 30).
  • staticQueryIntervalInSec (nem kötelező): A statikus konfigurációs adatok lekérdezésének és megőrzésének időköze másodpercben. (Alapértelmezett színkód: 60).
  • numberOfIterations (nem kötelező): A fájlban való megőrzése előtt végrehajtandó teljesítményadat-gyűjtemény iterációinak száma. Az alapértelmezett értékekkel például a teljesítményadatok 30 másodpercenként * 20 iteráció = 10 percenként maradnak meg. (Alapértelmezett színkód: 20).
  • outputFolder (nem kötelező): Az a mappa, amelybe a teljesítményadatok, jelentések és naplók írása/olvasása található. (Alapértelmezett színkód: %LocalAppData%/Microsoft/SqlAssessmentConsole).

Az alábbi példa egy mintahívás:

.\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

Másik lehetőségként az adatgyűjtési folyamat meghívható úgy is, hogy megadja a megfelelő argumentumokat egy JSON-konfigurációs fájlban, és a konfigurációs fájlt művelet nélkül futtatva átadja a konfigurációs fájlt az eszköznek, az alábbiak szerint:

.\SqlAssessment.exe --configFile C:\path\to\config.json

A következő ConfigFile minta egyenértékű a korábban ismertetett teljesítményadat-gyűjtési műveletével:

  {
    "action": "PerfDataCollection",
    "sqlConnectionStrings": [
    "Data Source=Server1;Initial Catalog=master;Integrated Security=True;",
    "Data Source=Server2;Initial Catalog=master;Integrated Security=True;"
    ],
    "outputFolder": "C:\\Output"
  }

Az összes művelethez tartozó konfigurációs mintafájlok a DMA telepítési útvonalának Example mappájában találhatók: GetMetadataSampleConfigFile.json, PerfDataCollectionSampleConfigFile.jsonés GetSkuRecommendationSampleConfigFile.json.

A parancs végrehajtása után a rendszer a teljesítmény- és konfigurációs adatpontokat három *_Counters.csv fájlként menti célpéldányonként, amelyek mindegyike tartalmazza a kiszolgálót és a példány nevét. Ezt a fájlt használhatja bemenetként a folyamat következő részében, amely SKU-javaslatokat nyújt az Azure SQL Database-hez, az Azure SQL Managed Instance-hez vagy az Azure-beli virtuális gépen futó SQL Serverhez.

Termékváltozat-javaslatok lekérése a konzolalkalmazással

Az előző lépésben összegyűjtött adatpontok lesznek felhasználva a termékváltozat-javaslati folyamat bemeneteként.

Az önálló adatbázis-beállításhoz a DMA javaslatokat nyújt az önálló Azure SQL Database-szinthez, a számítási szinthez és az SQL-példányon lévő adatbázisokhoz javasolt tárolási konfigurációhoz.

A felügyelt Azure SQL-példány és az Azure-beli virtuális gépen futó SQL Server esetében a javaslatok támogatják az átemeléses forgatókönyvet. Ennek eredményeképpen az SKU-javaslatok konzolalkalmazása javaslatokat nyújthat a felügyelt Azure SQL-példányhoz, vagy az Azure-beli virtuálisgép-szinten futó SQL Serverhez, a számítási szinthez és az SQL-példányon található adatbáziskészlet ajánlott tárolási konfigurációjához. Azt is megadhatja, hogy az SKU-javaslatokban szerepeltetni vagy kizárni kívánt adatbázisoknak csak egy részhalmaza legyen.

GetSkuRecommendation alapértelmezés szerint egy alapstratégiát használ, amely a számítási feladatra jellemző összegyűjtött teljesítményadat-értékeket (a megadott percentilisérték alapján) a megfelelő Azure SQL-termékváltozatra képezi le. Rugalmas stratégiát (statisztikai megközelítést) is kínálunk, amely az összegyűjtött teljesítményadatokon alapuló egyedi ár-teljesítmény görbét hoz létre a számítási feladatok mintáinak elemzésével egy olyan modellen, amely az Azure SQL-be már migrált ügyfeleken alapul.

A termékváltozat-javaslati folyamat elindításához adja meg a GetSkuRecommendation műveletet a konzolalkalmazásban a következő argumentumokkal:

  • perfQueryIntervalInSec (nem kötelező): A teljesítményadatok lekérdezési időköze másodpercben. Megjegyzés: A megadott értéknek meg kell egyeznie a teljesítményadatok gyűjtése során eredetileg használt értékkel. (Alapértelmezett: 30)
  • targetPlatform (választható): Termékváltozat-javaslat célplatformja: AzureSqlDatabase, AzureSqlManagedInstance, AzureSqlVirtualMachinevagy Any. A Any kiválasztásával mindhárom célplatformra vonatkozó termékváltozat-javaslatok kiértékelhetők, és a legjobb illesztés lesz visszaadva. (Alapértelmezett: Any)
  • targetSqlInstance (választható): Annak az SQL-példánynak a neve, amelyet a termékváltozat-javaslat célként tűz ki. (Alapértelmezés: outputFolder a PerfDataCollection művelet által létrehozott fájlok vizsgálata történik, és minden talált példányhoz javaslatokat adnak)
  • targetPercentile (választható): A teljesítményadatok összesítése során használandó adatpontok percentilise. Csak alapszintű (nem rugalmas) stratégiához használatos. Csak alapkonfigurációs (nem rugalmas) stratégiához használható. (Alapértelmezett: 95)
  • scalingFactor (választható): A termékváltozat-javaslat során használt skálázási ('comfort') tényező. Ha például azt állapítja meg, hogy egy 4 vCore-os CPU-követelmény van 150%skálázási tényezővel, akkor a valódi CPU-követelmény 6 vCore. (Alapértelmezett: 100)
  • startTime (nem kötelező): Az összesítés során figyelembe veendő teljesítményadatok UTC-kezdő időpontja yyyy-MM-dd HH:mm formátumban. Csak alapkonfigurációs (nem rugalmas) stratégiához használható. (Alapértelmezés: minden összegyűjtött adatpontot figyelembe kell venni)
  • endTime (nem kötelező): Az összesítés során figyelembe veendő teljesítményadatok UTC-záró időpontja yyyy-MM-dd HH:mm formátumban. Csak alapkonfigurációs (nem rugalmas) stratégiához használható. (Alapértelmezés: minden összegyűjtött adatpontot figyelembe kell venni)
  • elasticStrategy (választható): Azt határozza meg, hogy az erőforrás-használati profilkészítésen és a költség-teljesítményelemzésen alapuló termékváltozat-javaslatok rugalmas stratégiáját használja-e. A rugalmas stratégia jelenleg elérhető az Azure SQL Database-ekhez és a felügyelt SQL-példányokhoz, és még nem érhető el az Azure-beli virtuálisgép-célon futó SQL Serverhez. (Alapértelmezett: false)
  • databaseAllowList (választható): Az adatbázisok neveinek szóközzel elválasztott listája, amely lehetővé teszi az SKU-javaslatok megfontolását, miközben az összes többit kizárja. Csak az alábbiak egyikét állítsa be, vagy egyiket sem: databaseAllowList, databaseDenyList. (Alapértelmezett: null)
  • databaseDenyList (választható): A termékváltozat-javaslathoz kizárandó adatbázisok nevének szóközzel elválasztott listája. Csak az alábbiak egyikét állítsa be, vagy egyiket sem: databaseAllowList, databaseDenyList. (Alapértelmezett: null)
  • overwrite (nem kötelező): Annak meghatározása, hogy felülírja-e a meglévő SKU-ajánlási jelentéseket. (Alapértelmezett: true)
  • displayResult (nem kötelező): Azt jelzi, hogy ki szeretné-e nyomtatni a termékváltozat-javaslat eredményeit a konzolra. (Alapértelmezett: true)
  • outputFolder (nem kötelező): Az a mappa, amelyben a teljesítményadatok, jelentések és naplók írása/olvasása folyamatban van. (Alapértelmezett: %LocalAppData%\Microsoft\SqlAssessment)
  • suppressPreviewFeatures (nem kötelező): Ha igaz értékre van állítva az előzetes verziójú Azure-funkciók nem szerepelnek a javaslatban. (Alapértelmezett: false)

A SKU ajánlások speciális beállításai a gyökérkönyvtár Console.Settings.json fájljában találhatók. Jelenleg a következő testreszabható paramétereket tartalmazza:

CommandTimeoutGroupSetting: Az SQL-lekérdezési parancsok végrehajtásának másodpercben megadott ideje, mielőtt túllépi az időkorlátot.

  • PerfCollectionCommandTimeout: Parancs végrehajtási időtúllépése a teljesítményadatok gyűjtésével kapcsolatos, hosszú futású lekérdezésekhez (alapértelmezett: 300)
  • DefaultCollectionCommandTimeout: Az összes többi lekérdezés esetén a parancs időtúllépése (alapértelmezett: 120)

ThrottlingGroupSetting: A gép magjainak száma alapján létrehozandó párhuzamos feladatok száma

  • ServerInstancesParallelCount: A párhuzamosan értékelendő kiszolgálópéldányok száma (Alapértelmezett: 2)
  • DatabasesParallelCount: A párhuzamosan értékelendő adatbázisok száma (Alapértelmezett: 4)
  • UserDefinedObjectsParallelCountPerDb: A felhasználó által definiált objektumok (tárolt eljárások, nézetek, eseményindítók stb.) száma, amelyeket adatbázisonként párhuzamosan kell értékelni (Alapértelmezett: 4)

AllowTelemetry: Engedélyezi-e a névtelen funkcióhasználat és diagnosztikai adatok gyűjtését és továbbítását a Microsoftnak. (Alapértelmezett: true)

Alternatív megoldásként az SKU-javaslati folyamat meghívható úgy is, hogy megadja a megfelelő argumentumokat egy JSON-konfigurációs fájlban, és a konfigurációs fájlt művelet nélkül futtatva átadja a konfigurációs fájlt az eszköznek, az alábbiak szerint:

.\SqlAssessment.exe --configFile C:\path\to\config.json

A következő ConfigFile egyenértékű a korábban ismertetett termékváltozat-javaslatok műveletével:

{
    "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"
}

Annak érdekében, hogy egy adott Azure SQL-platform termékváltozatára vonatkozó javaslatokat kapjon ahelyett, hogy automatikusan kiválasztanak egyet, adjon meg egy értéket a --targetPlatform beállításhoz az alábbiak szerint:

1. minta: SKU-javaslatok lekérése az Azure SQL Database-hez.

.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlDatabase

2. minta: Termékváltozat-javaslatok lekérése rugalmas stratégiával felügyelt Azure SQL-példányhoz.

.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlManagedInstance
--elasticStrategy true

3. minta: SKU-javaslatok lekérése az Azure SQL Virtual Machine-hoz.

.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlVirtualMachine

4. minta: SKU-javaslatok beszerzése az Azure SQL Virtual Machine-hoz és az előzetes verziójú funkciók letiltása.

.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlVirtualMachine
--suppressPreviewFeatures True

Az alábbi képernyőkép egy Azure SQL Database-javaslat példakimenete:

Képernyőkép az Azure SQL Database termékváltozatszintjéről és az SQLAssessment konzolon megjelenő méretezési javaslatokról.

Az alábbi képernyőkép egy Azure SQL Managed Instance-javaslat példakimenete:

Képernyőkép az Azure SQL felügyelt példány termékváltozatának szintjéről és méretére vonatkozó javaslatokról a konzolon.

Az alábbi képernyőkép egy azure-beli virtuális gépen futó SQL Server-javaslat példakimenete:

Képernyőkép az Azure-beli virtuálisgép-termékváltozat szintjén futó SQL Serverről, és a konzolon megjelenő méretjavaslatok kimenete.

Az SKU-javaslat kimenete JSON formátumban és összegzett könnyen olvasható HTML-fájlként is mentve lesz. A kimenet a következő szakaszokra terjed ki:

  • Példánynév: Az SQL Server helyszíni példány neve.
  • adatbázisnév: A helyszíni SQL Server-adatbázis neve.
  • termékváltozatra vonatkozó javaslat: A minimális költséghatékony termékváltozat az összes olyan teljesítményre jogosult termékváltozat között, amely képes a számítási feladatok ellátására.
  • javaslati ok: Minden ajánlott szint esetében megadjuk a javaslatok okait és összegyűjtött adatértékeit.

Az adott szint végső ajánlott szintje és konfigurációs értékei azt a minimális termékváltozatot tükrözik, amely ahhoz szükséges, hogy a lekérdezések az Azure-ban fussanak a helyszíni adatbázisokhoz hasonló sikerességi arány mellett.