| title | Executing the SSMA Console (SybaseToSQL) | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| description | Executing the SSMA Console (SybaseToSQL) | ||||||||
| author | nilabjaball | ||||||||
| ms.author | niball | ||||||||
| ms.reviewer | randolphwest | ||||||||
| ms.date | 11/10/2025 | ||||||||
| ms.service | sql | ||||||||
| ms.subservice | ssma | ||||||||
| ms.topic | concept-article | ||||||||
| ms.collection |
|
||||||||
| helpviewer_keywords |
|
Microsoft provides you with a robust set of script file commands to execute and control SQL Server Migration Assistant (SSMA) activities. The ensuing sections detail the same.
The console application uses certain standard script file commands as enumerated in this section.
The Project commands handle creating projects, opening, saving, and exiting projects.
This command creates a new SSMA project.
-
project-folderindicates the folder of the project getting created. -
project-nameindicates the name of the project. {string} -
overwrite-if-existsOptional attribute indicates whether an existing project should be overwritten. {boolean} -
project-type: Optional attribute. Indicates the project type, that is,sql-server-2016,sql-server-2017,sql-server-2019,sql-server-2022,sql-server-2025, orsql-azure. The default issql-server-2016.
<create-new-project
project-folder="<project-folder>"
project-name="<project-name>"
overwrite-if-exists="<true/false>" (optional)
project-type=="<sql-server-2016 | sql-server-2017 | sql-server-2019 | sql-server-2022 | sql-server-2025 | sql-azure>"
/>Attribute overwrite-if-exists is false by default.
Attribute project-type is sql-server-2016 by default.
This command opens the project.
-
project-folderindicates the folder of the project getting created. The command fails if the specified folder doesn't exist. {string} -
project-nameindicates the name of the project. The command fails if the specified project doesn't exist. {string}
<open-project
project-folder="<project-folder>"
project-name="<project-name>"
/>Note
The SSMA for SAP ASE Console Application supports backward compatibility. You can use it to open projects created by previous version of SSMA.
This command saves the migration project.
<save-project/>This command closes the migration project.
<close-project
if-modified="<save/error/ignore>" (optional)
/>Attribute if-modified is optional, ignore by default.
The Database Connection commands help connect to the database.
The Browse feature of the UI isn't supported in console.
For more information, see Creating Script Files.
This command performs connection to the source database and loads high-level metadata of the source database, but not all of the metadata.
If the connection to the source can't be established, an error is generated and the console application stops further execution.
The server definition is retrieved from the name attribute defined for each connection in the server section of the server connection file or the script file.
<connect-source-database server="<server-unique-name>"/>This command loads the source metadata, and it's useful for working on migration project offline.
If the connection to the source/target can't be established, an error is generated and the console application stops further execution.
This command requires one or several metabase nodes as command-line parameter.
<force-load metabase="<source/target>" >
<metabase-object object-name="<object-name>"/>
</force-load>This command reconnects to the source database but doesn't load any metadata unlike the connect-source-database command.
If (re)connection with the source can't be established, an error is generated and the console application stops further execution.
<reconnect-source-database server="<server-unique-name>"/>This command connects to the target SQL Server database and loads high-level metadata of the target database but not the metadata entirely.
If the connection to the target can't be established, an error is generated and the console application stops further execution.
The server definition is retrieved from the name attribute defined for each connection, in the server section of the server connection file or the script file.
<connect-target-database server="<server-unique-name>"/>This command reconnects to the target database but doesn't load any metadata, unlike the connect-target-database command.
If (re)connection to the target can't be established, an error is generated and the console application stops further execution.
<reconnect-target-database server="<server-unique-name>"/>The Report commands generate reports on the performance of various SSMA Console activities.
This command generates assessment reports on the source database.
If the source database connection isn't performed before executing this command, an error is generated and the console application exits.
Failure to connect to the source database server during the command execution, also results in terminating the console application.
-
conversion-report-folder: Specifies the folder in which the assessment report can be stored. (optional attribute) -
object-name: Specifies the objects considered for assessment report generation (supports individual object names or a group object name). -
object-type: Specifies the type of the object called out in the object-name attribute (if object category is specified, then object type is "category"). -
conversion-report-overwrite: Specifies whether to overwrite the assessment report folder if it already exists.Default value: false. (optional attribute)
-
write-summary-report-to: Specifies the path at which the report is generated.If only the folder path is mentioned, then file by name
AssessmentReport<n>.xmlis created. (optional attribute)Report creation has two further subcategories:
-
report-errors(="true/false", with default as "false" (optional attributes)) -
verbose(="true/false", with default as "false" (optional attributes))
-
<generate-assessment-report
object-name="<object-name>"
object-type="<object-category>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
assessment-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>Or:
<generate-assessment-report
assessment-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
>
<metabase-object object-name="<object-name>"
object-type="<object-category>"/>
</generate-assessment-report>The Migration commands convert the target database schema to the source schema and migrate data to the target server.
This command performs schema conversion from source to the target schema.
If the source or target database connection isn't performed before executing this command, or the connection to the source or target database server fails during the command execution, an error is generated and the console application exits.
-
conversion-report-folder: Specifies folder in which the assessment report can be stored. (optional attribute) -
object-name: Specifies the source objects considered for converting schema (supports individual object names or a group object name). -
object-type: Specifies the type of the object called out in the object-name attribute (if object category is specified, then object type is "category"). -
conversion-report-overwrite: Specifies whether to overwrite the assessment report folder if it already exists.Default value: false. (optional attribute)
-
write-summary-report-to: Specifies the path at which the summary report is generated.If only the folder path is mentioned, then file by name
SchemaConversionReport<n>.xmlis created. (optional attribute)Report creation has two further subcategories:
-
report-errors(="true/false", with default as "false" (optional attributes)) -
verbose(="true/false", with default as "false" (optional attributes))
-
<convert-schema
object-name="<object-name>"
object-type="<object-category>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
conversion-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>Or:
<convert-schema
conversion-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>"> (optional)
<metabase-object object-name="<object-name>"
object-type="<object-category>"/>
</convert-schema>This command migrates the source data to the target.
-
object-name: Specifies the source objects considered for migrating data (supports individual object names or a group object name). -
object-type: specifies the type of the object called out in the object-name attribute (if object category is specified then object type is "category"). -
write-summary-report-to: Specifies the path at which the report is generated.If only the folder path is mentioned, then file by name
DataMigrationReport<n>.xmlis created. (optional attribute)Report creation has two further subcategories:
-
report-errors(="true/false", with default as "false" (optional attributes)) -
verbose(="true/false", with default as "false" (optional attributes))
-
<migrate-data
write-summary-report-to="<file-name/folder-name>"
report-errors="<true/false>" verbose="<true/false>">
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
<data-migration-connection
source-use-last-used="true"/source-server="<server-unique-name>"
target-use-last-used="true"/target-server="<server-unique-name>"/>
</migrate-data>Or:
<migrate-data
object-name="<object-name>"
object-type="<object-category>"
write-summary-report-to="<file-name/folder-name>"
report-errors="<true/false>" verbose="<true/false>"/>The Migration Preparation command initiates schema mapping between the source and target databases.
Note
The default console output setting for the migration commands is 'Full' output report with no detailed error reporting: Only summary at the source object tree root node.
This command provides the schema mapping of the source database to the target schema.
-
source-schemaSpecifies the source schema to migrate. -
sql-server-schemaSpecifies the target schema to which the source schema is migrated.
<map-schema source-schema="<source-schema>"
sql-server-schema="<target-schema>"/>The Manageability commands help synchronize the target database objects with the source database.
Note
The default console output setting for the migration commands is 'Full' output report with no detailed error reporting: Only summary at the source object tree root node.
This command synchronizes the target objects with the target database.
If this command is executed against the source database, an error is encountered.
If the target database connection isn't performed before executing this command, or the connection to the target database server fails during the command execution, an error is generated and the console application exits.
-
object-name: Specifies the target objects considered for synchronizing with target database (supports individual object names or a group object name). -
object-type: Specifies the type of the object called out in the object-name attribute (if object category is specified then object type is "category"). -
on-error: Specifies whether to specify synchronization errors as warnings or error. Available options for on-error:-
report-total-as-warning -
report-each-as-warning -
fail-script
-
-
report-errors-to: Specifies location of error report for the synchronization operation (optional attribute)If only the folder path is given, then a file by the name of
TargetSynchronizationReport.xmlis created.
<synchronize-target
object-name="<object-name>"
on-error="<report-total-as-warning/report-each-as-warning/fail-script>" (optional)
report-errors-to="<file-name/folder-name>" (optional)
/>Or:
<synchronize-target
object-name="<object-name>"
object-type="<object-category>"/>Or:
<synchronize-target>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
</synchronize-target>This command refreshes the source objects from database.
If this command is executed against the target database, an error is generated.
This command requires one or several metabase nodes as command-line parameter.
-
object-name: Specifies the source objects considered for refreshing from source database (supports individual object names or a group object name). -
object-type: Specifies the type of the object specified in the object-name attribute (if object category is specified then object type is "category"). -
on-error: Specifies whether to call out refresh errors as warnings or errors. Available options for on-error:report-total-as-warningreport-each-as-warningfail-script
-
report-errors-to: Specifies location of error report for the synchronization operation (optional attribute)If only the folder path is given, then a file by the name of
SourceDBRefreshReport.xmlis created.
<refresh-from-database
object-name="<object-name>"
on-error="<report-total-as-warning/
report-each-as-warning/
fail-script>" (optional)
report-errors-to="<file-name/folder-name>" (optional)
/>Or:
<refresh-from-database
object-name="<object-name>"
object-type="<object-category>" />Or:
<refresh-from-database>
<metabase-object object-name="<object-name>"/>
</refresh-from-database>The Script Generation commands perform dual tasks: they help save the console output in a script file, and they record the T-SQL output to the console or a file based on the parameter you specify.
Used to save the scripts of the objects to a file mentioned when metabase=target. This is an alternative to the synchronization command, in which we get the scripts and execute the same on the target database.
This command requires one or several metabase nodes as command-line parameter.
-
object-name: Specifies the objects whose scripts are to be saved (supports individual object names or a group object name). -
object-type: Specifies the type of the object called out in the object-name attribute (if object category is specified, then object type is "category"). -
metabase: Specifies whether it's the source or target metabase. -
destination: Specifies the path or the folder in which the script must be saved. If the file name isn't given, then a file name in the format(object_name attribute value).outis provided. -
overwrite: If true, then it overwrites the same filename if it exists. It can have the values (true/false).
<save-as-script
metabase="<source/target>"
object-name="<object-name>"
object-type="<object-category>"
destination="<file-name/folder-name>"
overwrite="<true/false>" (optional)
/>Or:
<save-as-script
metabase="<source/target>"
destination="<file-name/folder-name>"
<metabase-object object-name="<object-name>"
object-type="<object-category>"/>
</save-as-script>This command converts the SQL statement.
-
contextSpecifies the schema name. -
destinationSpecifies whether the output should be stored in a file.If this attribute isn't specified, then the converted T-SQL statement is displayed on the console. (optional attribute)
-
conversion-report-folderSpecifies the folder in which the assessment report can be stored. (optional attribute) -
conversion-report-overwriteSpecifies whether to overwrite the assessment report folder if it already exists.Default value: false. (optional attribute)
-
write-converted-sql-tospecifies the file (or) folder path to which the converted T-SQL should be stored. When a folder path is specified along with thesql-filesattribute, each source file has a corresponding target T-SQL file created under the specified folder. When a folder path is specified along with thesqlattribute, the converted T-SQL is written to a file named Result.out under the specified folder. -
sqlspecifies the Sybase sql statements to be converted, one or more statements can be separated using a ";" -
sql-filesspecifies the path of the sql files that has to be converted to T-SQL code. -
write-summary-report-tospecifies the path where the summary report is generated. If only the folder path is mentioned, then file by nameConvertSQLReport.xmlis created. (optional attribute)Summary report creation has two further subcategories, namely:
-
report-errors (="true/false", with default as "false" (optional attributes)).
-
verbose (="true/false", with default as "false" (optional attributes)).
-
This command requires one or several metabase nodes as command-line parameter.
<convert-sql-statement
context="<database-name>.<schema-name>"
conversion-report-folder="<folder-name>"
conversion-report-overwrite="<true/false>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
destination="<stdout/file>" (optional)
write-converted-sql-to ="<file-name/folder-name>"
sql="SELECT 1 FROM DUAL;">
<output-window suppress-messages="<true/false>" />
</convert-sql-statement>Or:
<convert-sql-statement
context="<database-name>.<schema-name>"
conversion-report-folder="<folder-name>"
conversion-report-overwrite="<true/false>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
destination="<stdout/file>" (optional)
write-converted-sql-to ="<file-name/folder-name>"
sql-files="<folder-name>\*.sql"
/>Or:
<convert-sql-statement
context="<database-name>.<schema-name>"
conversion-report-folder="<folder-name>"
conversion-report-overwrite="<true/false>"
sql-files="<folder-name>\*.sql"
/>