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.
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
,AzureSqlVirtualMachine
vagyAny
. AAny
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őpontjayyyy-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őpontjayyyy-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:
Az alábbi képernyőkép egy Azure SQL Managed Instance-javaslat példakimenete:
Az alábbi képernyőkép egy azure-beli virtuális gépen futó SQL Server-javaslat példakimenete:
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.