Sdílet prostřednictvím


Spuštění nástroje Data Migration Assistant z příkazového řádku

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.

Při instalaci nástroje Data Migration Assistant verze 2.1 a vyšší se také nainstaluje dmacmd.exe v %ProgramFiles%\Microsoft Data Migration Assistant. Pomocí DMACMD můžete vyhodnotit databáze v bezobslužném režimu a výstupem výsledku do souboru JSON nebo CSV. Tato metoda je zvlášť užitečná při posuzování několika databází nebo obrovských databází.

DMACMD podporuje pouze spouštění posouzení. Migrace se v tuto chvíli nepodporují.

Posouzení pomocí rozhraní příkazového řádku (CLI)

dmacmd.exe /AssessmentName="string"
/AssessmentDatabases="connectionString1" ["connectionString2"]
[/AssessmentSourcePlatform="SourcePlatform"]
[/AssessmentTargetPlatform="TargetPlatform"]
/AssessmentEvaluateFeatureParity|/AssessmentEvaluateCompatibilityIssues
[/AssessmentOverwriteResult]
/AssessmentResultJson="file"|/AssessmentResultCsv="file"
Argument Popis Povinné (Y/N)
/help or /? Jak používat text nápovědy dmacmd.exe N
/AssessmentName Název projektu posouzení Y
/AssessmentDatabases Seznam připojovacích řetězců oddělených mezerami U názvu databáze (počáteční katalog) se rozlišují malá a velká písmena. Y
/AssessmentSourcePlatform Zdrojová platforma pro posouzení:
Podporované hodnoty pro posouzení: SqlOnPrem, RdsSqlServer (výchozí)
Podporované hodnoty pro posouzení připravenosti cíle: SqlOnPrem, RdsSqlServer (výchozí), Cassandra (náhled)
N
/AssessmentTargetPlatform Cílová platforma pro posouzení:
Podporované hodnoty pro posouzení: AzureSqlDatabase, ManagedSqlServer, SqlServer2012, SqlServer2014, SqlServer2016, SqlServerLinux2017a SqlServerWindows2017 (výchozí)
Podporované hodnoty pro posouzení připravenosti cíle: ManagedSqlServer (výchozí), CosmosDB (předběžný)
N
/AssessmentEvaluateFeatureParity Spusťte pravidla pro dosažení parity funkcí. Pokud je zdrojová platforma RdsSqlServer, vyhodnocení parity funkcí se pro cílovou platformu AzureSqlDatabase nepodporuje. Y
(Vyžaduje se AssessmentEvaluateCompatibilityIssues nebo AssessmentEvaluateFeatureParity.)
/AssessmentEvaluateCompatibilityIssues Spustit pravidla kompatibility Y
(Vyžaduje se AssessmentEvaluateCompatibilityIssues nebo AssessmentEvaluateFeatureParity.)
/AssessmentOverwriteResult Přepište výsledný soubor N
/AssessmentResultJson Úplná cesta k souboru výsledků JSON Y
(Vyžaduje se AssessmentResultJson nebo AssessmentResultCsv.
/AssessmentResultCsv Úplná cesta k výslednému souboru CSV Y
(Vyžaduje se AssessmentResultJson nebo AssessmentResultCsv.
/AssessmentResultDma Úplná cesta k souboru výsledků .dma N
/Action K získání doporučení skladové položky použijte SkuRecommendation.
K posouzení připravenosti cíle použijte AssessTargetReadiness.
Pomocí AzureMigrateUpload nahrajte všechny soubory hodnocení DMA v AssessmentResultInputFolder k hromadnému nahrání do služby Azure Migrate. Action /Action=AzureMigrateUpload využití typů
N
/SourceConnections Seznam připojovacích řetězců oddělených mezerami Název databáze (počáteční katalog) je volitelný. Pokud není zadaný žádný název databáze, vyhodnotí se všechny databáze ve zdroji. Y
(Vyžaduje se, pokud je ActionAssessTargetReadiness)
/TargetReadinessConfiguration Úplná cesta k souboru XML popisující hodnoty pro název, zdrojová připojení a výsledný soubor. Y
(Vyžaduje se TargetReadinessConfiguration nebo SourceConnections.
/FeatureDiscoveryReportJson Cesta ke zprávě JSON o objevování funkcí Pokud se tento soubor vygeneruje, můžete ho použít k opětovnému spuštění posouzení připravenosti cíle bez připojení ke zdroji. N
/ImportFeatureDiscoveryReportJson Cesta k dříve vytvořené sestavě JSON zjišťování funkcí Místo zdrojových připojení se tento soubor použije. N
/EnableAssessmentUploadToAzureMigrate Umožňuje nahrávání a publikování výsledků posouzení do služby Azure Migrate. N
/AzureCloudEnvironment Vybere cloudové prostředí Azure, ke kterému se chcete připojit, výchozí je Veřejný cloud Azure. Podporované hodnoty: Azure (výchozí), AzureChina, AzureGermany, AzureUSGovernment. N
/SubscriptionId ID předplatného Azure. Y
(Vyžaduje se, pokud je zadán argument EnableAssessmentUploadToAzureMigrate)
/AzureMigrateProjectName Název projektu Azure Migrate, do kterého se nahrají výsledky posouzení. Y
(Vyžaduje se, pokud je zadán argument EnableAssessmentUploadToAzureMigrate)
/ResourceGroupName Název skupiny prostředků Azure Migrate Y
(Vyžaduje se, pokud je zadán argument EnableAssessmentUploadToAzureMigrate)
/AssessmentResultInputFolder Cesta k vstupní složce obsahující soubory posouzení .dma pro nahrání do Azure Migrate. Y
(Vyžaduje se, pokud je ActionAzureMigrateUpload)

Příklady posouzení pomocí rozhraní příkazového řádku

DMACMD

dmacmd.exe /?

Nebo:

dmacmd.exe /help`

posouzení jednoúčelové databáze pomocí ověřování systému Windows a spouštění pravidel kompatibility

dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;Integrated Security=true"
/AssessmentEvaluateCompatibilityIssues /AssessmentOverwriteResult
/AssessmentResultJson="C:\\temp\\Results\\AssessmentReport.json"

Posouzení jednoduché databáze s využitím ověřování SQL Serveru a zachování parity funkcí

dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;User Id=myUsername;Password=myPassword;"
/AssessmentEvaluateFeatureParity /AssessmentOverwriteResult
/AssessmentResultCsv="C:\\temp\\Results\\AssessmentReport.csv"

posouzení jednoduché databáze pro cílovou platformu SQL Server 2012, uložte výsledky do souborů .json a .csv

dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;Integrated Security=true"
/AssessmentTargetPlatform="SqlServer2012"
/AssessmentEvaluateFeatureParity /AssessmentOverwriteResult
/AssessmentResultJson="C:\\temp\\Results\\AssessmentReport.json"
/AssessmentResultCsv="C:\\temp\\Results\\AssessmentReport.csv"

posouzení jednoúčelové databáze pro cílovou platformu Azure SQL Database, uložte výsledky do .json a .csv souboru

dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;Integrated Security=true"
/AssessmentTargetPlatform="AzureSqlDatabaseV12"
/AssessmentEvaluateCompatibilityIssues /AssessmentEvaluateFeatureParity
/AssessmentOverwriteResult
/AssessmentResultCsv="C:\\temp\\AssessmentReport.csv"
/AssessmentResultJson="C:\\temp\\AssessmentReport.json"

posouzení více databází

dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName1;Initial
Catalog=DatabaseName1;Integrated Security=true"
"Server=SQLServerInstanceName1;Initial Catalog=DatabaseName2;Integrated
Security=true" "Server=SQLServerInstanceName2;Initial
Catalog=DatabaseName3;Integrated Security=true"
/AssessmentTargetPlatform="SqlServer2016"
/AssessmentEvaluateCompatibilityIssues /AssessmentOverwriteResult
/AssessmentResultCsv="C:\\temp\\Results\\AssessmentReport.csv"
/AssessmentResultJson="C:\\Results\\test2016.json"

Posouzení připravenosti cíle pro jednoduchou databázi pomocí ověřování systému Windows

dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/SourceConnections="Server=SQLServerInstanceName;Initial Catalog=DatabaseName;Integrated Security=true"
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"

Posouzení připravenosti cílové jednoduché databáze pomocí ověřování SQL Serverem

dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/SourceConnections="Server=SQLServerInstanceName;Initial Catalog=DatabaseName;User Id=myUsername;Password=myPassword;" /AssessmentEvaluateFeatureParity
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"

posouzení jednoduché databáze pro cílovou platformu Azure SQL Database, uložte výsledky do souborů .json a .csv

dmacmd.exe /AssessmentName="TestAssessment"
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
Catalog=DatabaseName;Integrated Security=true"
/AssessmentSourcePlatform="SqlOnPrem"
/AssessmentTargetPlatform="AzureSqlDatabase"
/AssessmentEvaluateCompatibilityIssues /AssessmentEvaluateFeatureParity
/AssessmentOverwriteResult
/AssessmentResultCsv="C:\\temp\\AssessmentReport.csv"
/AssessmentResultJson="C:\\temp\\AssessmentReport.json"

Posouzení připravenosti cíle pro více databází

dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/AssessmentSourcePlatform=SourcePlatform
/AssessmentTargetPlatform=TargetPlatform
/SourceConnections="Server=SQLServerInstanceName1;Initial Catalog=DatabaseName1;Integrated Security=true" "Server=SQLServerInstanceName1;Initial Catalog=DatabaseName2;Integrated Security=true" "Server=SQLServerInstanceName2;Initial Catalog=DatabaseName3;Integrated Security=true"
/AssessmentOverwriteResult
/AssessmentResultJson="C:\Results\test2016.json"

(/AssessmentSourcePlatform a /AssessmentTargetPlatform jsou volitelné.)

Cílové posouzení připravenosti pro všechny databáze na serveru s využitím ověřování Windows

dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/SourceConnections="Server=SQLServerInstanceName;Integrated Security=true"
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"

hodnocení připravenosti cílového systému importem dříve vytvořené zprávy o objevování funkcí

dmacmd.exe /Action=AssessTargetReadiness
/AssessmentName="TestAssessment"
/ImportFeatureDiscoveryReportJson="c:\temp\feature_report.json"
/AssessmentOverwriteResult
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"

Posouzení připravenosti cíle prostřednictvím poskytnutí konfiguračního souboru

dmacmd.exe /Action=AssessTargetReadiness
/TargetReadinessConfiguration=.\Config.xml

Obsah konfiguračního souboru při použití zdrojových připojení:

<?xml version="1.0" encoding="utf-8" ?>
<TargetReadinessConfiguration xmlns="http://microsoft.com/schemas/SqlServer/Advisor/TargetReadinessConfiguration">
  <AssessmentName>name</AssessmentName>
  <SourcePlatform>Source Platform</SourcePlatform> <!-- Optional. The default is SqlOnPrem -->
  <TargetPlatform>TargetPlatform</TargetPlatform> <!-- Optional. The default is ManagedSqlServer -->
  <SourceConnections>
    <SourceConnection>connection string 1</SourceConnection>
    <SourceConnection>connection string 2</SourceConnection>
    <!-- ... -->
    <SourceConnection>connection string n</SourceConnection>
  </SourceConnections>
  <AssessmentResultJson>path\to\file.json</AssessmentResultJson>
  <FeatureDiscoveryReportJson>path\to\featurediscoveryreport.json</FeatureDiscoveryReportJson>
  <OverwriteResult>true</OverwriteResult> <!-- or false -->
</TargetReadinessConfiguration>

Při importu reportu o zjišťování funkcí obsah konfiguračního souboru:

<TargetReadinessConfiguration xmlns="http://microsoft.com/schemas/SqlServer/Advisor/TargetReadinessConfiguration">
  <AssessmentName>name</AssessmentName>
  <ImportFeatureDiscoveryReportJson>path\to\featurediscoveryfile.json</ImportFeatureDiscoveryReportJson>
  <AssessmentResultJson>path\to\resultfile.json</AssessmentResultJson>
  <OverwriteResult>true</OverwriteResult><!-- or false -->
</TargetReadinessConfiguration>

posouzení a nahrání do služby Azure Migrate ve veřejném cloudu Azure (výchozí)

dmacmd.exe
/Action="Assess"
/AssessmentSourcePlatform=SqlOnPrem
/AssessmentTargetPlatform=ManagedSqlServer
/AssessmentEvaluateCompatibilityIssues
/AssessmentEvaluateFeatureParity
/AssessmentOverwriteResult
/AssessmentName="assess-myDatabase"
/AssessmentDatabases="Server=myServer;Initial Catalog=myDatabase;Integrated Security=true"
/AssessmentResultDma="C:\assessments\results\assess-1.dma"
/SubscriptionId="Subscription Id"
/AzureMigrateProjectName="Azure Migrate project ame"
/ResourceGroupName="Resource Group name"
/AzureAuthenticationInteractiveAuthentication
/AzureAuthenticationTenantId="Azure Tenant Id"
/EnableAssessmentUploadToAzureMigrate

Hromadné nahrání souborů hodnocení DMA do Azure Migrate ve veřejném cloudu Azure (výchozí)

dmacmd.exe
/Action="AzureMigrateUpload"
/AssessmentResultInputFolder="C:\assessments\results"
/SubscriptionId="Subscription Id"
/AzureMigrateProjectName="Azure Migrate project name"
/ResourceGroupName="Resource Group name"
/AzureAuthenticationInteractiveAuthentication
/AzureAuthenticationTenantId="Azure Tenant Id"
/EnableAssessmentUploadToAzureMigrate

Azure SQL Database / Azure SQL Managed Instance / SQL Server na virtuálních počítačích Azure s doporučeními pro SKU s využitím rozhraní příkazového řádku

Při instalaci nástroje Data Migration Assistant ve verzi 5.4 a novějších verzích se také nainstalují SqlAssessment.exe do %ProgramFiles%\Microsoft Data Migration Assistant\SQLAssessmentConsole. Pomocí SqlAssessment.exe můžete shromažďovat údaje o výkonu pro instanci SQL po delší dobu a výstupem výsledku do souboru JSON nebo CSV.

Tyto příkazy podporují doporučení pro možnosti nasazení Azure SQL Database jako jednoho databázového serveru, Azure SQL Managed Instance a SQL Server na virtuálních počítačích Azure.

.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlManagedInstance
Argument Popis Povinné (Y/N)
PerfDataCollection Spustí shromažďování dat o výkonu. Y
GetSkuRecommendation Provádí agregaci a analýzu shromážděných dat o výkonu a určuje doporučení skladové položky. Y
GetMetadata Provádí kolekci metadat cílových instancí SQL, včetně počtu a vlastností instancí serveru, databází a databázových souborů, uživatelem definovaných objektů atd. Úplná sestava se exportuje do MetadataReport.json. Y
--outputFolder Složka, do které se zapisují a ze které se čtou údaje o výkonu, sestavy a protokoly. N
(Výchozí: aktuální adresář)
--sqlConnectionStrings Formální řetězce připojení v uvozovkách pro cílové instance SQL Y
--overwrite Zda chcete přepsat existující sestavy doporučení k posouzení nebo doporučení kódů SKU. N
(Výchozí: true)
--perfQueryIntervalInSec Interval dotazování dat o výkonu v sekundách. N
(Specifické pro akci PerfDataCollection. Výchozí nastavení 30)
--staticQueryIntervalInSec Interval pro dotazování a zachování statických konfiguračních dat v sekundách N
(Specifické pro akci PerfDataCollection. Výchozí 30)
--numberOfIterations Počet iterací shromažďování dat o výkonu, které se mají provést před uložením do souboru N
(Specifické pro akci PerfDataCollection. Výchozí nastavení 20)
--perfQueryIntervalInSec Interval dotazování dat o výkonu v sekundách N
(Specifické pro GetSkuRecommendation akci. Musí se shodovat s hodnotou, která byla původně použita při shromažďování dat o výkonu. Výchozí hodnota: 30)
--targetPlatform Cílová platforma pro doporučení SKU: buď AzureSqlDatabase, AzureSqlManagedInstance, AzureSqlVirtualMachine, nebo Any. N
(Specifické pro akci GetSkuRecommendation. Výchozí hodnota: Any)
--targetSqlInstance Název instance SQL, na kterou se doporučení skladové položky zaměřuje. N
(Specifické pro akci GetSkuRecommendation)
--targetPercentile Percentil datových bodů, které se mají použít při agregaci dat o výkonu. N
(Specifické pro akci GetSkuRecommendation. Používá se pouze pro referenční (neelastickou) strategii. Výchozí hodnota: 95)
--scalingFactor Faktor škálování (komfort) použitý během doporučení skladové položky N
(Specifické pro akci GetSkuRecommendation. Výchozí hodnota: 100)
--startTime Čas zahájení datových bodů výkonu UTC, který je potřeba vzít v úvahu během agregace, ve formátu "YYYY-MM-DD HH:MM". N
(Specifické pro akci GetSkuRecommendation. Používá se pouze pro základní (neelastickou) strategii
--endTime Koncový čas UTC datových bodů výkonu, které je nutné zohlednit během agregace, ve formátu "YYYY-MM-DD HH:MM". N
(Specifická pro akci GetSkuRecommendation. Používá se pouze pro strategii základní úrovně (neelastickou) strategie)
--elasticStrategy Zda použít elastickou strategii pro doporučení SKU na základě statistické profilace využití prostředků. 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. N
(Specifické pro akci GetSkuRecommendation. Výchozí hodnota: false)
--databaseAllowList Seznam názvů databází oddělených mezerami, které se mají zahrnout pro doporučení skladové položky N
(Specifické pro akci GetSkuRecommendation. Výchozí hodnota: null)
--databaseDenyList Seznam názvů databází oddělených mezerami, které se mají vyloučit pro doporučení skladové položky. Nastavte pouze jednu z následujících možností nebo žádnou: databaseAllowList, databaseDenyList N
(Specifické pro akci GetSkuRecommendation. Výchozí hodnota: null)
--displayResult Jestli chcete v konzole vytisknout výsledky doporučení skladové položky, nebo ne. Nastavte pouze jednu z následujících možností nebo ani jednu: databaseAllowList, databaseDenyList N
(Specifické pro akci GetSkuRecommendation. Výchozí hodnota: true)

Příklady posouzení skladových položek pomocí rozhraní příkazového řádku

SqlAssessment.exe

SqlAssessment.exe --help

Spuštění procesu shromažďování dat pro místní instance SQL Serveru

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

Doporučení SKU pro Azure SQL Database / Azure SQL Managed Instance / SQL Server na virtuálních počítačích Azure

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

doporučení SKU pro spravovanou instanci Azure SQL s určeným procentem agregace pro datové body a vlastní škálovací faktor

.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlManagedInstance
--targetPercentile 90
--scalingFactor 80

doporučení SQL Serveru na virtuálním počítači Azure s vlastní časovou osou agregace

.\SqlAssessment.exe GetSkuRecommendation
--outputFolder C:\Output
--targetPlatform AzureSqlVirtualMachine
--startTime "2021-06-05 00:00"
--endTime "2021-06-07 00:00"