Skip to content

Commit 26d60b3

Browse files
authored
Merge pull request #8963 from hitenjava/master
Doc updates for target readiness workflow
2 parents 2109ee7 + 26e40a3 commit 26d60b3

1 file changed

Lines changed: 114 additions & 22 deletions

File tree

docs/dma/dma-commandline.md

Lines changed: 114 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ manager: craigg
1818
---
1919

2020
# Run Data Migration Assistant from the command line
21-
With version 2.1 and above, when you install Data Migration Assistant, it will also install dmacmd.exe in *%ProgramFiles%\\Microsoft Data Migration Assistant\\*. Use dmacmd.exe to assess your databases in an unattended mode, and output the result to JSON or CSV file. This method is especially useful when assessing several databases or huge databases.
21+
With version 2.1 and above, when you install Data Migration Assistant, it will also install dmacmd.exe in *%ProgramFiles%\\Microsoft Data Migration Assistant\\*. Use dmacmd.exe to assess your databases in an unattended mode, and output the result to JSON or CSV file. This method is especially useful when assessing several databases or huge databases.
2222

2323
> [!NOTE]
2424
> Dmacmd.exe supports running assessments only. Migrations are not supported at this time.
@@ -39,15 +39,19 @@ DmaCmd.exe /AssessmentName="string"
3939
|---------|---------|---------------|
4040
| `/help or /?` | How to use dmacmd.exe help text | N
4141
|`/AssessmentName` | Name of the assessment project | Y
42-
|`/AssessmentDatabases` | Space-delimited list of connection strings. Database name (Initial Catalog) is case-sensitive. | Y
42+
|`/AssessmentDatabases` | Space-delimited list of connection strings. Database name (Initial Catalog) is case-sensitive. | Y
4343
|`/AssessmentTargetPlatform` | Target platform for the assessment, supported values: SqlServer2012, SqlServer2014, SqlServer2016, and AzureSqlDatabaseV12. Default is SqlServer2016 | N
44-
|`/AssessmentEvaluateFeatureParity` | Run feature parity rules | N
45-
|`/AssessmentEvaluateCompatibilityIssues` | Run compatibility rules | Y <br> (Either AssessmentEvaluateCompatibilityIssues or AssessmentEvaluateRecommendations is required.)
46-
|`/AssessmentEvaluateRecommendations` | Run feature recommendations | Y <br> (Either AssessmentEvaluateCompatibilityIssues or AssessmentEvaluateRecommendationsis required)
44+
|`/AssessmentEvaluateFeatureParity` | Run feature parity rules | N
45+
|`/AssessmentEvaluateCompatibilityIssues` | Run compatibility rules | Y <br> (Either AssessmentEvaluateCompatibilityIssues or AssessmentEvaluateRecommendations is required.)
46+
|`/AssessmentEvaluateRecommendations` | Run feature recommendations | Y <br> (Either AssessmentEvaluateCompatibilityIssues or AssessmentEvaluateRecommendationsis required)
4747
|`/AssessmentOverwriteResult` | Overwrite the result file | N
48-
|`/AssessmentResultJson` | Full path to the JSON result file | Y <br> (Either AssessmentResultJson or AssessmentResultCsv is required)
49-
|`/AssessmentResultCsv` | Full path to the CSV result file | Y <br>(Either AssessmentResultJson or AssessmentResultCsv is required)
50-
48+
|`/AssessmentResultJson` | Full path to the JSON result file | Y <br> (Either AssessmentResultJson or AssessmentResultCsv is required)
49+
|`/AssessmentResultCsv` | Full path to the CSV result file | Y <br>(Either AssessmentResultJson or AssessmentResultCsv is required)
50+
|`/Action` | Use SkuRecommendation to get SKU recommendations, use AssessTargetReadiness to perform target readiness assessment. | N
51+
|`/SourceConnections` | Space delimited list of connection strings. Database name (Initial Catalog) is optional. If no database name is provided, then all databases on the source are assessed. | Y <br>(Required if Action is 'AssessTargetReadiness')
52+
|`/TargetReadinessConfiguration` | Full path to the XML file describing values for the name, source connections and result file. | Y <br>(Either TargetReadinessConfiguration or SourceConnections is required)
53+
|`/FeatureDiscoveryReportJson` | Path to the feature discovery JSON report. If this file is generated, then it can be used to run target readiness assessment again without connecting to source. | N
54+
|`/ImportFeatureDiscoveryReportJson` | Path to the feature discovery JSON report created earlier. Instead of source connections, this file will be used. | N
5155

5256
## Examples of assessments using the CLI
5357

@@ -61,8 +65,8 @@ DmaCmd.exe /AssessmentName="string"
6165
```
6266
DmaCmd.exe /AssessmentName="TestAssessment"
6367
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
64-
Catalog=DatabaseName;***Integrated Security=true*"**
65-
***/AssessmentEvaluateCompatibilityIssues*** /AssessmentOverwriteResult
68+
Catalog=DatabaseName;Integrated Security=true"
69+
/AssessmentEvaluateCompatibilityIssues /AssessmentOverwriteResult
6670
/AssessmentResultJson="C:\\temp\\Results\\AssessmentReport.json"
6771
```
6872

@@ -71,51 +75,139 @@ Catalog=DatabaseName;***Integrated Security=true*"**
7175
```
7276
DmaCmd.exe /AssessmentName="TestAssessment"
7377
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
74-
Catalog=DatabaseName;***User Id=myUsername;Password=myPassword;***"
75-
***/AssessmentEvaluateRecommendations*** /AssessmentOverwriteResult
78+
Catalog=DatabaseName;User Id=myUsername;Password=myPassword;"
79+
/AssessmentEvaluateRecommendations /AssessmentOverwriteResult
7680
/AssessmentResultCsv="C:\\temp\\Results\\AssessmentReport.csv"
7781
```
7882

79-
**Single-database assessment for target platform SQL Server 2012, save results to .json and .csv file**
83+
**Single-database assessment for target platform SQL Server 2012, save results to .json and .csv file**
8084

8185
```
8286
DmaCmd.exe /AssessmentName="TestAssessment"
8387
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
8488
Catalog=DatabaseName;Integrated Security=true"
85-
***/AssessmentTargetPlatform="SqlServer2012"***
89+
/AssessmentTargetPlatform="SqlServer2012"
8690
/AssessmentEvaluateRecommendations /AssessmentOverwriteResult
87-
***/AssessmentResultJson***="C:\\temp\\Results\\AssessmentReport.json"
88-
***/AssessmentResultCsv***="C:\\temp\\Results\\AssessmentReport.csv"
91+
/AssessmentResultJson="C:\\temp\\Results\\AssessmentReport.json"
92+
/AssessmentResultCsv="C:\\temp\\Results\\AssessmentReport.csv"
8993
```
9094

91-
**Single-database assessment for target platform SQL Azure Database, save results to .json and .csv file**
95+
**Single-database assessment for target platform SQL Azure Database, save results to .json and .csv file**
9296

9397
```
94-
DmaCmd.exe /AssessmentName="TestAssessment" 
98+
DmaCmd.exe /AssessmentName="TestAssessment"
9599
/AssessmentDatabases="Server=SQLServerInstanceName;Initial
96100
Catalog=DatabaseName;Integrated Security=true"
97101
/AssessmentTargetPlatform="AzureSqlDatabaseV12"
98102
/AssessmentEvaluateCompatibilityIssues /AssessmentEvaluateFeatureParity
99-
/AssessmentOverwriteResult 
100-
/AssessmentResultCsv="C:\\temp\\AssessmentReport.csv" 
103+
/AssessmentOverwriteResult
104+
/AssessmentResultCsv="C:\\temp\\AssessmentReport.csv"
101105
/AssessmentResultJson="C:\\temp\\AssessmentReport.json"
102106
```
103107

104108
**Multiple-database assessment**
105109

106110
```
107111
DmaCmd.exe /AssessmentName="TestAssessment"
108-
***/AssessmentDatabases="Server=SQLServerInstanceName1;Initial
112+
/AssessmentDatabases="Server=SQLServerInstanceName1;Initial
109113
Catalog=DatabaseName1;Integrated Security=true"
110114
"Server=SQLServerInstanceName1;Initial Catalog=DatabaseName2;Integrated
111115
Security=true" "Server=SQLServerInstanceName2;Initial
112-
Catalog=DatabaseName3;Integrated Security=true"***
116+
Catalog=DatabaseName3;Integrated Security=true"
113117
/AssessmentTargetPlatform="SqlServer2016"
114118
/AssessmentEvaluateCompatibilityIssues /AssessmentOverwriteResult
115119
/AssessmentResultCsv="C:\\temp\\Results\\AssessmentReport.csv"
116120
/AssessmentResultJson="C:\\Results\\test2016.json"
117121
```
118122

123+
**Single-database Target Readiness assessment using Windows authentication**
124+
125+
```
126+
DmaCmd.exe /Action=AssessTargetReadiness
127+
/AssessmentName="TestAssessment"
128+
/SourceConnections="Server=SQLServerInstanceName;Initial Catalog=DatabaseName;Integrated Security=true"
129+
/AssessmentOverwriteResult
130+
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"
131+
```
132+
133+
**Single-database Target Readiness assessment using SQL Server authentication**
134+
135+
```
136+
DmaCmd.exe /Action=AssessTargetReadiness
137+
/AssessmentName="TestAssessment"
138+
/SourceConnections="Server=SQLServerInstanceName;Initial Catalog=DatabaseName;User Id=myUsername;Password=myPassword;" /AssessmentEvaluateRecommendations
139+
/AssessmentOverwriteResult
140+
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"
141+
142+
```
143+
144+
**Multiple-database Target Readiness assessment**
145+
146+
```
147+
DmaCmd.exe /Action=AssessTargetReadiness
148+
/AssessmentName="TestAssessment"
149+
/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"
150+
/AssessmentOverwriteResult
151+
/AssessmentResultJson="C:\Results\test2016.json"
152+
153+
```
154+
155+
**Target Readiness assessment for all databases on a server using Windows authentication**
156+
157+
```
158+
DmaCmd.exe /Action=AssessTargetReadiness
159+
/AssessmentName="TestAssessment"
160+
/SourceConnections="Server=SQLServerInstanceName;Integrated Security=true"
161+
/AssessmentOverwriteResult
162+
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"
163+
164+
```
165+
166+
**Target Readiness assessment by importing feature discovery report created earlier**
167+
168+
```
169+
DmaCmd.exe /Action=AssessTargetReadiness
170+
/AssessmentName="TestAssessment"
171+
/ImportFeatureDiscoveryReportJson="c:\temp\feature_report.json"
172+
/AssessmentOverwriteResult
173+
/AssessmentResultJson="C:\temp\Results\AssessmentReport.json"
174+
175+
```
176+
177+
**Target Readiness assessment by providing configuration file**
178+
179+
```
180+
DmaCmd.exe /Action=AssessTargetReadiness
181+
/TargetReadinessConfiguration=.\Config.xml
182+
183+
```
184+
Configuration file contents when using source connections:
185+
```
186+
<?xml version="1.0" encoding="utf-8" ?>
187+
<TargetReadinessConfiguration xmlns="http://microsoft.com/schemas/SqlServer/Advisor/TargetReadinessConfiguration">
188+
<AssessmentName>name</AssessmentName>
189+
<SourceConnections>
190+
<SourceConnection>connection string 1</SourceConnection>
191+
<SourceConnection>connection string 2</SourceConnection>
192+
<!-- ... -->
193+
<SourceConnection>connection string n</SourceConnection>
194+
</SourceConnections>
195+
<AssessmentResultJson>path\to\file.json</AssessmentResultJson>
196+
<FeatureDiscoveryReportJson>path\to\featurediscoveryreport.json</FeatureDiscoveryReportJson>
197+
<OverwriteResult>true</OverwriteResult> <!-- or false -->
198+
</TargetReadinessConfiguration>
199+
```
200+
201+
Configuration file contents when importing feature discovery report:
202+
```
203+
<TargetReadinessConfiguration xmlns="http://microsoft.com/schemas/SqlServer/Advisor/TargetReadinessConfiguration">
204+
<AssessmentName>name</AssessmentName>
205+
<ImportFeatureDiscoveryReportJson>path\to\featurediscoveryfile.json</ImportFeatureDiscoveryReportJson>
206+
<AssessmentResultJson>path\to\resultfile.json</AssessmentResultJson>
207+
<OverwriteResult>true</OverwriteResult><!-- or false -->
208+
</TargetReadinessConfiguration>
209+
```
210+
119211
## Azure SQL Database SKU recommendations using the CLI
120212

121213
```

0 commit comments

Comments
 (0)