Partager via


Exécution de la console SSMA (SybaseToSQL)

Microsoft vous fournit un ensemble robuste de commandes de fichier de script pour exécuter et contrôler les activités Assistant Migration SQL Server (SSMA). Les sections suivantes les détaillent.

Commandes de fichier de script

L’application console utilise certaines commandes de fichier de script standard, comme indiqué dans cette section.

Commandes de projet

Les commandes Projet gèrent la création de projets, l’ouverture, l’enregistrement et la sortie de projets.

Commande create-new-project

Cette commande crée un projet SSMA.

  • project-folder indique le dossier du projet créé.

  • project-name indique le nom du projet. {string}

  • overwrite-if-exists L’attribut facultatif indique si un projet existant doit être remplacé. {boolean}

  • project-type: attribut facultatif. Indique le type de projet, autrement dit, sql-server-2016, , sql-server-2017sql-server-2019, sql-server-2022, sql-server-2025ou sql-azure. La valeur par défaut est sql-server-2016.

Exemple de syntaxe

<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>"
/>

L’attribut overwrite-if-exists est false par défaut.

L’attribut project-type est sql-server-2016 par défaut.

Commande open-project

Cette commande ouvre le projet.

  • project-folder indique le dossier du projet créé. La commande échoue si le dossier spécifié n’existe pas. {string}

  • project-name indique le nom du projet. La commande échoue si le projet spécifié n’existe pas. {string}

Exemple de syntaxe

<open-project
  project-folder="<project-folder>"
  project-name="<project-name>"
/>

Remarque

L’application console SSMA pour SAP ASE prend en charge la compatibilité descendante. Vous pouvez l’utiliser pour ouvrir des projets créés par la version précédente de SSMA.

Commande save-project

Cette commande enregistre le projet de migration.

Exemple de syntaxe

<save-project/>

Commande close-project

Cette commande ferme le projet de migration.

Exemple de syntaxe

<close-project
  if-modified="<save/error/ignore>"   (optional)
/>

L’attribut if-modified est facultatif, ignore par défaut.

Commandes de connexion de base de données

Les commandes de connexion de base de données aident à se connecter à la base de données.

La fonctionnalité Parcourir de l’interface utilisateur n’est pas prise en charge dans la console.

Pour plus d’informations, consultez Création de fichiers de script.

Commande connect-source-database

Cette commande effectue une connexion à la base de données source et charge les métadonnées de haut niveau de la base de données source, mais pas toutes les métadonnées.

Si la connexion à la source ne peut pas être établie, une erreur est générée et l’application console arrête l’exécution ultérieure.

La définition du serveur est récupérée à partir de l’attribut de nom défini pour chaque connexion dans la section serveur du fichier de connexion du serveur ou du fichier de script.

Exemple de syntaxe

<connect-source-database  server="<server-unique-name>"/>

Commande force-load-source/target-database

Cette commande charge les métadonnées sources et elle est utile pour travailler sur le projet de migration hors connexion.

Si la connexion à la source/cible ne peut pas être établie, une erreur est générée et l’application console arrête l’exécution ultérieure.

Cette commande nécessite un ou plusieurs nœuds de métabase en tant que paramètre de ligne de commande.

Exemple de syntaxe

<force-load metabase="<source/target>" >
  <metabase-object object-name="<object-name>"/>
</force-load>

Commande reconnect-source-database

Cette commande se reconnecte à la base de données source, mais ne charge pas de métadonnées contrairement à la commande connect-source-database.

Si (re)connexion avec la source ne peut pas être établie, une erreur est générée et l’application console arrête l’exécution ultérieure.

Exemple de syntaxe

<reconnect-source-database  server="<server-unique-name>"/>

Commande connect-target-database

Cette commande se connecte à la base de données SQL Server cible et charge les métadonnées de haut niveau de la base de données cible, mais pas entièrement les métadonnées.

Si la connexion à la cible ne peut pas être établie, une erreur est générée et l’application console arrête l’exécution ultérieure.

La définition du serveur est récupérée à partir de l’attribut de nom défini pour chaque connexion, dans la section serveur du fichier de connexion du serveur ou du fichier de script.

Exemple de syntaxe

<connect-target-database  server="<server-unique-name>"/>

Commande reconnect-target-database

Cette commande se reconnecte à la base de données cible, mais ne charge aucune métadonnées, contrairement à la commande connect-target-database.

Si la (re)connexion à la cible ne peut pas être établie, une erreur est générée et l’application console arrête l’exécution ultérieure.

Exemple de syntaxe

<reconnect-target-database  server="<server-unique-name>"/>

Commandes de rapport

Les commandes rapport génèrent des rapports sur les performances des différentes activités de la console SSMA.

Commande generate-assessment-report

Cette commande génère des rapports d’évaluation sur la base de données source.

Si la connexion de base de données source n’est pas effectuée avant d’exécuter cette commande, une erreur est générée et l’application console se ferme.

L’échec de la connexion au serveur de base de données source pendant l’exécution de la commande entraîne également la fin de l’application console.

  • conversion-report-folder: spécifie le dossier dans lequel le rapport d’évaluation peut être stocké. (Attribut facultatif)

  • object-name: spécifie les objets pris en compte pour la génération de rapport d’évaluation (prend en charge les noms d’objets individuels ou un nom d’objet de groupe).

  • object-type: spécifie le type de l’objet appelé dans l’attribut object-name (si la catégorie d’objet est spécifiée, le type d’objet est « category »).

  • conversion-report-overwrite: spécifie s’il faut remplacer le dossier du rapport d’évaluation s’il existe déjà.

    Valeur par défaut : false. (Attribut facultatif)

  • write-summary-report-to: spécifie le chemin d’accès au niveau duquel le rapport est généré.

    Si seul le chemin du dossier est mentionné, le fichier par nom AssessmentReport<n>.xml est créé. (Attribut facultatif)

    La création de rapports comporte deux sous-catégories supplémentaires :

    • report-errors (="true/false », avec la valeur par défaut « false » (attributs facultatifs))

    • verbose (="true/false », avec la valeur par défaut « false » (attributs facultatifs))

Exemple de syntaxe

<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)
/>

Ou:

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

Commandes de migration

Les commandes de migration convertissent le schéma de base de données cible en schéma source et migrent les données vers le serveur cible.

Commande convert-schema

Cette commande effectue la conversion de schéma de la source vers le schéma cible.

Si la connexion de base de données source ou cible n’est pas effectuée avant d’exécuter cette commande, ou si la connexion au serveur de base de données source ou cible échoue pendant l’exécution de la commande, une erreur est générée et l’application console se ferme.

  • conversion-report-folder: spécifie le dossier dans lequel le rapport d’évaluation peut être stocké. (Attribut facultatif)

  • object-name: spécifie les objets sources pris en compte pour la conversion du schéma (prend en charge les noms d’objets individuels ou un nom d’objet de groupe).

  • object-type: spécifie le type de l’objet appelé dans l’attribut object-name (si la catégorie d’objet est spécifiée, le type d’objet est « category »).

  • conversion-report-overwrite: spécifie s’il faut remplacer le dossier du rapport d’évaluation s’il existe déjà.

    Valeur par défaut : false. (Attribut facultatif)

  • write-summary-report-to: spécifie le chemin d’accès où le rapport récapitulatif est généré.

    Si seul le chemin du dossier est mentionné, le fichier par nom SchemaConversionReport<n>.xml est créé. (Attribut facultatif)

    La création de rapports comporte deux sous-catégories supplémentaires :

    • report-errors (="true/false », avec la valeur par défaut « false » (attributs facultatifs))

    • verbose (="true/false », avec la valeur par défaut « false » (attributs facultatifs))

Exemple de syntaxe

<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)
/>

Ou:

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

Commande migrate-data

Cette commande migre les données sources vers la cible.

  • object-name: spécifie les objets sources pris en compte pour la migration de données (prend en charge les noms d’objets individuels ou un nom d’objet de groupe).

  • object-type: spécifie le type de l’objet appelé dans l’attribut object-name (si la catégorie d’objet est spécifiée, le type d’objet est « category »).

  • write-summary-report-to: spécifie le chemin d’accès au niveau duquel le rapport est généré.

    Si seul le chemin du dossier est mentionné, le fichier par nom DataMigrationReport<n>.xml est créé. (Attribut facultatif)

    La création de rapports comporte deux sous-catégories supplémentaires :

    • report-errors (="true/false », avec la valeur par défaut « false » (attributs facultatifs))

    • verbose (="true/false », avec la valeur par défaut « false » (attributs facultatifs))

Exemple de syntaxe

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

Ou:

<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>"/>

Commande Préparation de la migration

La commande Préparation de la migration lance le mappage de schéma entre les bases de données source et cible.

Remarque

Le paramètre de sortie de la console par défaut pour les commandes de migration est le rapport de sortie « Complet » sans rapport d’erreurs détaillé : résumé uniquement au niveau du nœud racine de l’arborescence d’objets source.

Commande map-schema

Cette commande fournit le mappage de schéma de la base de données source au schéma cible.

  • source-schema Spécifie le schéma source à migrer.

  • sql-server-schema Spécifie le schéma cible vers lequel le schéma source est migré.

Exemple de syntaxe

<map-schema source-schema="<source-schema>"
sql-server-schema="<target-schema>"/>

Commandes de facilité de gestion

Les commandes de facilité de gestion permettent de synchroniser les objets de base de données cibles avec la base de données source.

Remarque

Le paramètre de sortie de la console par défaut pour les commandes de migration est le rapport de sortie « Complet » sans rapport d’erreurs détaillé : résumé uniquement au niveau du nœud racine de l’arborescence d’objets source.

Commande synchronize-target

Cette commande synchronise les objets cibles avec la base de données cible.

Si cette commande est exécutée sur la base de données source, une erreur est rencontrée.

Si la connexion de base de données cible n’est pas effectuée avant d’exécuter cette commande ou si la connexion au serveur de base de données cible échoue pendant l’exécution de la commande, une erreur est générée et l’application console se ferme.

  • object-name: spécifie les objets cibles pris en compte pour la synchronisation avec la base de données cible (prend en charge les noms d’objets individuels ou un nom d’objet de groupe).

  • object-type: spécifie le type de l’objet appelé dans l’attribut object-name (si la catégorie d’objet est spécifiée, le type d’objet est « category »).

  • on-error: spécifie s’il faut spécifier des erreurs de synchronisation en tant qu’avertissements ou erreur. Options disponibles pour l’erreur :

    • report-total-as-warning

    • report-each-as-warning

    • fail-script

  • report-errors-to: spécifie l’emplacement du rapport d’erreur pour l’opération de synchronisation (attribut facultatif)

    Si seul le chemin d’accès au dossier est donné, un fichier par le nom de celui-ci TargetSynchronizationReport.xml est créé.

Exemple de syntaxe

<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)
/>

Ou:

<synchronize-target
  object-name="<object-name>"
  object-type="<object-category>"/>

Ou:

<synchronize-target>
  <metabase-object object-name="<object-name>"/>
  <metabase-object object-name="<object-name>"/>
  <metabase-object object-name="<object-name>"/>
</synchronize-target>

Commande refresh-from-database

Cette commande actualise les objets sources de la base de données.

Si cette commande est exécutée sur la base de données cible, une erreur est générée.

Cette commande nécessite un ou plusieurs nœuds de métabase en tant que paramètre de ligne de commande.

  • object-name: spécifie les objets sources pris en compte pour l’actualisation à partir de la base de données source (prend en charge les noms d’objets individuels ou un nom d’objet de groupe).

  • object-type: spécifie le type de l’objet spécifié dans l’attribut object-name (si la catégorie d’objet est spécifiée, le type d’objet est « category »).

  • on-error: spécifie s’il faut appeler les erreurs d’actualisation en tant qu’avertissements ou erreurs. Options disponibles pour l’erreur :

    • report-total-as-warning
    • report-each-as-warning
    • fail-script
  • report-errors-to: spécifie l’emplacement du rapport d’erreur pour l’opération de synchronisation (attribut facultatif)

    Si seul le chemin d’accès au dossier est donné, un fichier par le nom de celui-ci SourceDBRefreshReport.xml est créé.

Exemple de syntaxe

<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)
/>

Ou:

<refresh-from-database
  object-name="<object-name>"
  object-type="<object-category>" />

Ou:

<refresh-from-database>
  <metabase-object object-name="<object-name>"/>
</refresh-from-database>

Commandes de génération de script

Les commandes génération de script effectuent des tâches doubles : elles permettent d’enregistrer la sortie de la console dans un fichier de script et d’enregistrer la sortie T-SQL dans la console ou un fichier en fonction du paramètre que vous spécifiez.

Commande save-as-script

Permet d’enregistrer les scripts des objets dans un fichier mentionné lorsque metabase=target. Il s’agit d’une alternative à la commande de synchronisation, dans laquelle nous obtenons les scripts et exécutons la même opération sur la base de données cible.

Cette commande nécessite un ou plusieurs nœuds de métabase en tant que paramètre de ligne de commande.

  • object-name: spécifie les objets dont les scripts doivent être enregistrés (prend en charge les noms d’objets individuels ou un nom d’objet de groupe).

  • object-type: spécifie le type de l’objet appelé dans l’attribut object-name (si la catégorie d’objet est spécifiée, le type d’objet est « category »).

  • metabase: spécifie s’il s’agit de la métabase source ou cible.

  • destination: spécifie le chemin d’accès ou le dossier dans lequel le script doit être enregistré. Si le nom de fichier n’est pas donné, un nom de fichier au format (object_name attribute value).out est fourni.

  • overwrite: si la valeur est true, elle remplace le même nom de fichier s’il existe. Elle peut avoir les valeurs (true/false).

Exemple de syntaxe

<save-as-script
  metabase="<source/target>"
  object-name="<object-name>"
  object-type="<object-category>"
  destination="<file-name/folder-name>"
  overwrite="<true/false>"   (optional)
/>

Ou:

<save-as-script
  metabase="<source/target>"
  destination="<file-name/folder-name>"
    <metabase-object object-name="<object-name>"
                     object-type="<object-category>"/>
</save-as-script>

Commande convert-sql-statement

Cette commande convertit l’instruction SQL.

  • context Spécifie le nom du schéma.

  • destination Spécifie si la sortie doit être stockée dans un fichier.

    Si cet attribut n’est pas spécifié, l’instruction T-SQL convertie s’affiche sur la console. (Attribut facultatif)

  • conversion-report-folder Spécifie le dossier dans lequel le rapport d’évaluation peut être stocké. (Attribut facultatif)

  • conversion-report-overwrite Spécifie s’il faut remplacer le dossier du rapport d’évaluation s’il existe déjà.

    Valeur par défaut : false. (Attribut facultatif)

  • write-converted-sql-to spécifie le chemin du dossier (ou) du fichier vers lequel le T-SQL converti doit être stocké. Lorsqu’un chemin d’accès au dossier est spécifié avec l’attribut sql-files , chaque fichier source a un fichier T-SQL cible correspondant créé sous le dossier spécifié. Lorsqu’un chemin d’accès au dossier est spécifié avec l’attribut sql , le T-SQL converti est écrit dans un fichier nommé Result.out sous le dossier spécifié.

  • sql spécifie les instructions sql Sybase à convertir, une ou plusieurs instructions peuvent être séparées à l’aide d’un « ; »

  • sql-files spécifie le chemin des fichiers sql qui doivent être convertis en code T-SQL.

  • write-summary-report-to spécifie le chemin d’accès où le rapport récapitulatif est généré. Si seul le chemin du dossier est mentionné, le fichier par nom ConvertSQLReport.xml est créé. (Attribut facultatif)

    La création de rapports récapitulatives comporte deux sous-catégories supplémentaires, à savoir :

    • report-errors (="true/false », avec la valeur par défaut « false » (attributs facultatifs)).

    • verbose (="true/false », avec la valeur par défaut « false » (attributs facultatifs)).

Cette commande nécessite un ou plusieurs nœuds de métabase en tant que paramètre de ligne de commande.

Exemple de syntaxe

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

Ou:

<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"
/>

Ou:

<convert-sql-statement
         context="<database-name>.<schema-name>"
         conversion-report-folder="<folder-name>"
         conversion-report-overwrite="<true/false>"
         sql-files="<folder-name>\*.sql"
/>