Share via


Exécution de la console SSMA (MySQLToSQL)

Microsoft vous fournit un ensemble robuste de commandes de fichier de script pour exécuter et contrôler les activités SSMA.

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

Commandes de fichier de script de projet

Commande

create-new-project :
Crée un projet SSMA.

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

Script

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

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

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

  4. project-type:Attribut facultatif. Indique le type de projet, c’est-à-dire « sql-server-2005 » ou « sql-server-2008 » ou « sql-server-2012 » ou « sql-server-2014 » ou « sql-azure ». La valeur par défaut est « sql-server-2008 ».

Exemple de syntaxe :

<create-new-project  
  
   project-folder="<project-folder>"  
  
   project-name="<project-name>"  
  
   overwrite-if-exists="<true/false>"   (optional)  
  
   project-type=="<sql-server-2008 | sql-server-2005 | sql-server-2012 | sql-server-2014 | sql-azure>"   (optional)  
  
/>  

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

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

Commande

open-project :
Ouvre un projet existant.

Script

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

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

Important

L’application console SSMA pour MySQL prend en charge la compatibilité descendante. Vous pourrez ouvrir des projets créés par la version précédente de SSMA.

Commande

save-project : enregistre le projet de migration.

Script

Exemple de syntaxe :

<save-project/>  

Commande

close-project
: ferme le projet de migration.

Script

Exemple de syntaxe :

<save-project/>  

Commande

close-project
: ferme le projet de migration.

Script

Exemple de syntaxe :

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

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

Commandes de fichier de script de connexion de base de données

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

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

  2. Les paramètres d’authentification windows et de port ne s’appliquent pas lors de la connexion à SQL Azure.

  3. Pour plus d’informations sur la création de fichiers de script, consultez Création de fichiers de script (MySQLToSQL)

Commande

connect-source-database

  • Effectue une connexion à la base de données source et charge des 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

Script

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

  • Charge les métadonnées sources.

  • 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

Script

Nécessite un ou plusieurs nœuds de métabase comme 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

  1. Se reconnecte à la base de données source, mais ne charge aucune métadonnées contrairement à la commande connect-source-database.

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

Script

Exemple de syntaxe :

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

Commande

connect-target-database

  1. Se connecte au serveur SQL Server cible ou à Azure SQL Database et charge les métadonnées de haut niveau de la base de données cible, mais pas entièrement les métadonnées.

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

Script

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

  1. Se reconnecte à la base de données cible, mais ne charge pas de métadonnées, contrairement à la commande connect-target-database.

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

Script

Exemple de syntaxe :

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

Commandes de fichier de script 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

  1. Génère des rapports d’évaluation sur la base de données source.

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

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

Script

  1. assessment-report-folder: Spécifie le dossier où le rapport d’évaluation est stocké. (attribut facultatif)

  2. object-name: Spécifie le ou les objets pris en compte pour la génération de rapport d’évaluation (il peut avoir des noms d’objets individuels ou un nom d’objet de groupe).

  3. 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 sera « category »).

  4. assessment-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)

  5. write-summary-report-to: Spécifie le chemin d’accès où le rapport récapitulative sera 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)  
  
   conversion-report-folder="<folder-name>"   (optional)  
  
   conversion-report-overwrite="<true/false>"   (optional)  
  
/>  

ou

<generate-assessment-report  
  
   conversion-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 fichier de script 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.

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

convert-schema

  1. Effectue la conversion de schéma de la source vers le schéma cible.

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

Script

  1. conversion-report-folder: Spécifie le dossier où le rapport d’évaluation est stocké. (attribut facultatif)

  2. object-name: Spécifie le ou les objets pris en compte pour la conversion du schéma (il peut avoir des noms d’objets individuels ou un nom d’objet de groupe).

  3. 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 sera « category »).

  4. 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)

  5. write-summary-report-to: Spécifie le chemin d’accès où le rapport récapitulative sera 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 d’un rapport récapitulative 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-names>"  
  
         object-type="<object-category>"/>  
  
</convert-schema>  

Commande

migrate-data

  1. Migre les données sources vers la cible.

Script

  1. object-name: Spécifie le ou les objets sources pris en compte pour la migration de données (il peut avoir des noms d’objets individuels ou un nom d’objet de groupe).

  2. 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 sera « category »).

  3. write-summary-report-to: Spécifie le chemin d’accès où le rapport récapitulative sera 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" verbose="true">  
  
      <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" verbose="true"/>  

Commande fichier de script de 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.

Commande

map-schema

Mappage de schéma de la base de données source au schéma cible.

Script

  1. source-schema spécifie le schéma source que nous avons l’intention de migrer.

  2. sql-server-schema spécifie le schéma cible dans lequel nous voulons qu’il soit migré.

Exemple de syntaxe :

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

Commandes de fichier de script 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.

Note

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

  1. Synchronise les objets cibles avec la base de données cible.

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

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

Script

  1. object-name: Spécifie le ou les objets pris en compte pour la synchronisation avec la base de données cible (il peut avoir des noms d’objets individuels ou un nom d’objet de groupe).

  2. 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 sera « category »).

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

    • rapport-total-as-warning

    • rapport-each-as-warning

    • fail-script

  4. report-errors-to: Spécifie l’emplacement du rapport d’erreur pour l’opération de synchronisation (attribut facultatif) si seul le chemin du dossier est donné, le fichier par nom 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>"   (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

  1. Actualise les objets sources de la base de données.

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

Script

  1. object-name: Spécifie le ou les objets sources pris en compte pour l’actualisation à partir de la base de données source (il peut avoir des noms d’objets individuels ou un nom d’objet de groupe).

  2. 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 sera « category »).

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

    • rapport-total-as-warning

    • rapport-each-as-warning

    • fail-script

  4. report-errors-to: Spécifie l’emplacement du rapport d’erreur pour l’opération de synchronisation (attribut facultatif) si seul le chemin du dossier est donné, le fichier par nom SourceDBRefreshReport.XML est créé.

Nécessite un ou plusieurs nœuds de métabase comme paramètre de ligne de commande.

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>"   (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 fichier de script 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 enregistrez la sortie T-SQL dans la console ou un fichier en fonction du paramètre que vous spécifiez.

Commande

save-as-script

Utilisé pour enregistrer les scripts des objets dans un fichier mentionné lorsque metabase=target , il s’agit d’une alternative à la commande de synchronisation où, dans nous obtenons les scripts et exécutons les mêmes sur la base de données cible.

Script

Nécessite un ou plusieurs nœuds de métabase comme paramètre de ligne de commande.

  1. object-name: Spécifie les objets dont les scripts doivent être enregistrés. (Il peut avoir des noms d’objets individuels ou un nom d’objet de groupe)

  2. 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 sera « category »).

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

  4. 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 valeur d’attribut).

  5. overwrite: si la valeur est true, elle remplace si le même nom de fichier 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

  1. context spécifie le nom du schéma.

  2. 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)

  3. conversion-report-folder spécifie le dossier où le rapport d’évaluation est stocké. (attribut facultatif)

  4. 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)

  5. write-converted-sql-to spécifie le chemin du dossier (ou) du fichier dans 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 aura 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é.

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

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

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

    La création d’un rapport comporte 2 sous-catégories supplémentaires, viz.., :

    • 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)).

Script

Nécessite un ou plusieurs nœuds de métabase comme paramètre de ligne de commande.

Exemple de syntaxe :

<convert-sql-statement  
  
   context="<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="<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="<schema-name>"  
  
   conversion-report-folder="<folder-name>"  
  
   conversion-report-overwrite="<true/false>"  
  
   sql-files="<folder-name>\*.sql"  
  
/>  

Étape suivante

Pour plus d’informations sur les options de ligne de commande, consultez Options de ligne de commande dans la console SSMA (MySQLToSQL).

Pour plus d’informations sur les exemples de fichiers de script de console, consultez Utilisation des exemples de fichiers de script de console (MySQLToSQL)

L’étape suivante dépend des exigences de votre projet :

  1. Pour spécifier un mot de passe ou exporter/importer des mots de passe, consultez Gestion des mots de passe (MySQLToSQL).

  2. Pour générer des rapports, consultez Génération de rapports (MySQLToSQL).

  3. Pour résoudre les problèmes dans la console, consultez Résolution des problèmes (MySQLToSQL).