Conversion de schémas DB2 (DB2ToSQL)
Une fois connecté à DB2, connecté à SQL Server et définir des options de mappage de projet et de données, vous pouvez convertir des objets de base de données DB2 en objets de base de données SQL Server.
Processus de conversion
La conversion d’objets de base de données accepte les définitions d’objets de DB2, les convertit en objets SQL Server similaires, puis charge ces informations dans les métadonnées SSMA. Les informations ne sont pas chargées dans l’instance de SQL Server. Vous pouvez ensuite afficher les objets et leurs propriétés à l’aide de l’Explorateur de métadonnées SQL Server.
Pendant la conversion, SSMA imprime les messages de sortie dans le volet de Sortie et les messages d’erreur dans le volet Liste d’erreurs. Utilisez les informations de sortie et d’erreur pour déterminer si vous devez modifier vos bases de données DB2 ou votre processus de conversion pour obtenir les résultats de conversion souhaités.
Définition des options de conversion
Avant de convertir des objets, passez en revue les options de conversion du projet dans la boîte de dialogue Paramètres du projet. À l’aide de cette boîte de dialogue, vous pouvez définir la façon dont SSMA convertit les fonctions et les variables globales. Pour plus d’informations, consultez Paramètres du projet (conversion) (DB2ToSQL).
Résultats de conversion
Le tableau suivant indique quels objets DB2 sont convertis et les objets SQL Server résultants :
Objets DB2 | Objets SQL Server résultants |
---|---|
Types de données | SSMA mappe chaque type, à l’exception des éléments suivants répertoriés ci-dessous : CLOB : Certaines fonctions natives pour l’utilisation de ce type ne sont pas prises en charge (par exemple, CLOB_EMPTY()) BLOB : certaines fonctions natives pour fonctionner avec ce type ne sont pas prises en charge (par exemple, BLOB_EMPTY()) DBLOB : Certaines fonctions natives pour l’utilisation de ce type ne sont pas prises en charge (par exemple, DBLOB_EMPTY()) |
Types définis par l'utilisateur | SSMA mappe les éléments définis par l’utilisateur suivants : Distinct Type Type structuré Types de données SQL PL - Remarque : le type de curseur faible n’est pas pris en charge. |
Registres spéciaux | SSMA mappe uniquement les registres répertoriés ci-dessous : TIMESTAMP ACTUEL DATE ACTUELLE HEURE ACTUELLE FUSEAU HORAIRE ACTUEL UTILISATEUR ACTUEL SESSION_USER et USER SYSTEM_USER CLIENT_APPLNAME ACTUELLE CLIENT_WRKSTNNAME ACTUELLE DÉLAI D’EXPIRATION DU VERROUILLAGE ACTUEL SCHÉMA ACTUEL SERVEUR ACTUEL ISOLATION ACTUELLE Les autres registres spéciaux ne sont pas mappés à la sémantique SQL Server. |
CREATE TABLE | SSMA mappe CREATE TABLE avec les exceptions suivantes : Tables de clustering multidimensionnel (MDC) Tables en cluster de plage (RCT) tables partitionnées ; Table détachée Clause DATA CAPTURE Option IMPLICITEMENT MASQUÉE Option VOLATILE |
CREATE VIEW | SSMA mappe CREATE VIEW avec « WITH LOCAL CHECK OPTION », mais d’autres options ne sont pas mappées à la sémantique SQL Server |
CREATE INDEX | SSMA mappe CREATE INDEX avec les exceptions suivantes : Index XML option BUSINESS_TIME SANS CHEVAUCHEMENT CLAUSE PARTITIONED OPTION SPECIFICATION ONLY OPTION EXTEND USING Option MINPCTUSED Option PAGE SPLIT |
Déclencheurs | SSMA mappe la sémantique de déclencheur suivante : AFTER / FOR EACH ROW Triggers AFTER /FOR EACH STATEMENT Triggers BEFORE / FOR EACH ROW and INSTEAD OF / FOR EACH ROW Triggers |
Séquences | Sont mappés. |
Instruction SELECT | SSMA mappe SELECT avec les exceptions suivantes : Clause data-change-table-reference - Partiellement mappée, mais les tables FINAL ne sont pas prises en charge Clause table-reference - Partiellement mappée, mais uniquement-table-reference, outer-table-reference, analyze_table-expression, collection-derived-table, xmltable-expression ne sont pas mappées à la sémantique SQL Server Clause de spécification de période : non mappée. Clause continue-handler : non mappée. Clause de corrélation typée : non mappée. Clause de résolution d’accès simultané - Non mappée. |
VALUES, instruction | Est mappé. |
INSERT, instruction | Est mappé. |
UPDATE, instruction | SMAmappe UPDATE avec les exceptions suivantes : Clause table-reference - Only-table-reference n’est pas mappée à la sémantique SQL Server Clause Period : n’est pas mappée. |
Instruction MERGE | SSMA mappe MERGE avec les exceptions suivantes : Occurrences uniques et multiples de chaque clause : est mappée à la sémantique SQL Server pour des occurrences limitées de chaque clause Clause SIGNAL : ne mappe pas à la sémantique SQL Server Clauses UPDATE et DELETE mixtes : ne correspond pas à la sémantique SQL Server Period-clause : ne mappe pas à la sémantique SQL Server |
DELETE, instruction | SSMA mappe DELETE avec les exceptions suivantes : Clause table-reference - Only-table-reference n’est pas mappée à la sémantique SQL Server Clause Period : ne mappe pas à la sémantique SQL Server |
Niveau d’isolation et type de verrou | Est mappé. |
Procédures (SQL) | Sont mappés. |
Procédures (externes) | Exiger une mise à jour manuelle. |
Procédures (sourced) | Ne mappez pas à la sémantique SQL Server. |
Instruction Assignment | Est mappé. |
Instruction CALL pour une procédure | Est mappé. |
Instruction CASE | Est mappé. |
INSTRUCTION FOR | Est mappé. |
GOTO (instruction) | Est mappé. |
Instruction IF | Est mappé. |
ITERATE, instruction | Est mappé. |
INSTRUCTION LEAVE | Est mappé. |
Instruction LOOP | Est mappé. |
REPEAT, instruction | Est mappé. |
RESIGNAL, instruction | Les conditions ne sont pas prises en charge. Les messages peuvent être facultatifs. |
INSTRUCTION RETURN | Est mappé. |
SIGNAL, instruction | Les conditions ne sont pas prises en charge. Les messages peuvent être facultatifs. |
WHILE, instruction | Est mappé. |
GET DIAGNOSTICS, instruction | SSMA mappe GET DIAGNOSTICS avec les exceptions suivantes : ROW_COUNT : est mappé. DB2_RETURN_STATUS : est mappé. MESSAGE_TEXT - Est mappé. DB2_SQL_NESTING_LEVEL : ne mappe pas à la sémantique SQL Server DB2_TOKEN_STRING : ne mappe pas à la sémantique SQL Server |
Curseurs | SSMA mappe CURSORS avec les exceptions suivantes : INSTRUCTION ALLOCATE CURSOR : ne mappe pas à la sémantique SQL Server INSTRUCTION ASSOCIATE LOCATORS : ne mappe pas à la sémantique SQL Server INSTRUCTION DECLARE CURSOR - La clause returnability n’est pas mappée à la sémantique SQL Server Instruction FETCH - Mappage partiel. Les variables en tant que cible sont prises en charge uniquement. SQLDA DESCRIPTOR n’est pas mappé à la sémantique SQL Server |
Variables | Sont mappés. |
Exceptions, gestionnaires et conditions | SSMA mappe « gestion des exceptions » avec les exceptions suivantes : Gestionnaires EXIT : sont mappés. Gestionnaires UNDO : sont mappés. Gestionnaires CONTINUE : ne sont pas mappés. Conditions : elle ne correspond pas à la sémantique SQL Server. |
SQL dynamique | Non mappé. |
Alias | Sont mappés. |
Surnoms | Mappage partiel. Le traitement manuel est requis pour l’objet sous-jacent |
Synonymes | Sont mappés. |
Fonctions standard dans DB2 | SSMA mappe les fonctions standard DB2 lorsqu’une fonction équivalente est disponible dans SQL Server : |
Autorisation | Non mappé. |
Prédicats | Sont mappés. |
SELECT INTO, instruction | Non mappé. |
INSTRUCTION VALUES INTO | Non mappé. |
Contrôle de transaction | Non mappé. |
Conversion d’objets de base de données DB2
Pour convertir des objets de base de données DB2, vous devez d’abord sélectionner les objets que vous souhaitez convertir, puis effectuer la conversion par SSMA. Pour afficher les messages de sortie pendant la conversion, dans le menu Affichage , sélectionnez Sortie.
Pour convertir des objets DB2 en syntaxe SQL Server
Dans l’Explorateur de métadonnées DB2, développez le serveur DB2, puis développez Schémas.
Sélectionnez des objets à convertir :
Pour convertir tous les schémas, cochez la case en regard des schémas.
Pour convertir ou omettre une base de données, cochez la case en regard du nom du schéma.
Pour convertir ou omettre une catégorie d’objets, développez un schéma, puis activez ou désactivez la case à cocher en regard de la catégorie.
Pour convertir ou omettre des objets individuels, développez le dossier de catégorie, puis activez ou désactivez la case à cocher en regard de l’objet.
Pour convertir tous les objets sélectionnés, cliquez avec le bouton droit sur Schémas et sélectionnez Convertir le schéma.
Vous pouvez également convertir des objets individuels ou des catégories d’objets en cliquant avec le bouton droit sur l’objet ou son dossier parent, puis en sélectionnant Convertir le schéma.
Affichage des problèmes de conversion
Certains objets DB2 peuvent ne pas être convertis. Vous pouvez déterminer les taux de réussite de la conversion en consultant le rapport de conversion récapitulative.
Pour afficher un rapport récapitulative
Dans l’Explorateur de métadonnées DB2, sélectionnez Schémas.
Dans le volet droit, sélectionnez l’onglet Rapport .
Ce rapport affiche le rapport d’évaluation récapitulative pour tous les objets de base de données qui ont été évalués ou convertis. Vous pouvez également afficher un rapport récapitulative pour des objets individuels :
Pour afficher le rapport d’un schéma individuel, sélectionnez le schéma dans l’Explorateur de métadonnées DB2.
Pour afficher le rapport d’un objet individuel, sélectionnez l’objet dans l’Explorateur de métadonnées DB2. Les objets qui ont des problèmes de conversion ont une icône d’erreur rouge.
Pour les objets qui ont échoué la conversion, vous pouvez afficher la syntaxe qui a entraîné l’échec de la conversion.
Pour afficher les problèmes de conversion individuels
Dans l’Explorateur de métadonnées DB2, développez Schémas.
Développez le schéma qui affiche une icône d’erreur rouge.
Sous le schéma, développez un dossier contenant une icône d’erreur rouge.
Sélectionnez l’objet qui a une icône d’erreur rouge.
Dans le volet droit, cliquez sur l’onglet Rapport .
En haut de l’onglet Rapport , il s’agit d’une liste déroulante. Si la liste affiche les statistiques, remplacez la sélection par Source.
SSMA affiche le code source et plusieurs boutons juste au-dessus du code.
Cliquez sur le bouton Problème suivant. Il s’agit d’une icône d’erreur rouge avec une flèche pointant vers la droite.
SSMA met en évidence le premier code source problématique qu’il trouve dans l’objet actuel.
Pour chaque élément qui n’a pas pu être converti, vous devez déterminer ce que vous souhaitez faire avec cet objet :
Vous pouvez modifier le code source des procédures sous l’onglet SQL .
Vous pouvez modifier l’objet dans la base de données DB2 pour supprimer ou réviser le code problématique. Pour charger le code mis à jour dans SSMA, vous devez mettre à jour les métadonnées. Pour plus d’informations, consultez Connexion à la base de données DB2 (DB2ToSQL).
Vous pouvez exclure l’objet de la migration. Dans l’Explorateur de métadonnées SQL Server et l’Explorateur de métadonnées DB2, décochez la case en regard de l’élément avant de charger les objets dans SQL Server et de migrer des données à partir de DB2.
Étape suivante
L’étape suivante du processus de migration consiste à charger les objets convertis en SQL Server.
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour