Problèmes connus, limitations et résolution des problèmes

Cet article fournit une liste des problèmes connus et des étapes de résolution des problèmes associés à l’extension de migration Azure SQL pour Azure Data Studio.

Important

La dernière version d’Integration Runtime (5.28.8488) empêche l’accès à un partage de fichiers réseau sur un hôte local. Cette mesure de sécurité entraînera des échecs lors de l’exécution de migrations vers Azure SQL à l’aide de DMS. Veillez à exécuter Integration Runtime sur une autre machine que celle hébergeant le partage réseau.

Code d’erreur : 2007 - CutoverFailedOrCancelled

  • Message : Cutover failed or cancelled for database <DatabaseName>. Error details: The restore plan is broken because firstLsn <First LSN> of log backup <URL of backup in Azure Storage container>' is not <= lastLsn <last LSN> of Full backup <URL of backup in Azure Storage container>'. Restore to point in time.

  • Cause : l’erreur peut être due à une mauvaise mise en place des sauvegardes dans le conteneur Stockage Azure. Si les sauvegardes sont placées dans le partage de fichiers réseau, cette erreur peut également se produire en raison de problèmes de connectivité réseau.

  • Recommandation : Vérifiez que les sauvegardes de base de données dans votre conteneur Stockage Azure sont correctes. Si vous utilisez un partage de fichiers réseau, il peut y avoir des problèmes liés au réseau et des retards qui sont à l’origine de cette erreur. Attendez que le processus soit terminé.

  • Message : Cutover failed or cancelled for database '{databaseName}'. Error details: 'errorCode: Ext_RestoreSettingsError, message: RestoreId: {RestoreId}, OperationId: {operationId}, Detail: Failed to complete restore., RestoreJobState: Restoring, CompleteRestoreErrorMessage: The database contains incompatible physical layout. Too many full text catalog files.

  • Cause : la restauration de machines virtuelles SQL ne prend actuellement pas en charge la restauration de bases de données avec des fichiers catalogue de texte intégral, car les machines virtuelles Azure SQL ne la prend pas en charge pour le moment.

  • Recommandation : supprimer les fichiers catalogue de texte intégral de la base de données lors de la création de la restauration

  • Message : Cutover failed or cancelled for database '{databaseName}'. Error details: 'Migration cannot be completed because provided backup file name '{providedFileName}' should be the last restore backup file '{lastRestoredFileName}'.'

  • Cause : cette erreur se produit en raison d’une limitation connue dans SqlMi. Cela signifie que '{providedFileName}' est différent de '{lastRestoredFileName}'. SqlMi restaurera automatiquement tous les fichiers de sauvegarde valides dans le conteneur en fonction de la séquence LSN. Un cas d’échec classique peut être : '{providedFileName}' est « log1 », mais les fichiers dans le conteneur ont d’autres fichiers, tels que « log2 », qui ont un nombre LSN plus grand que « log1 ». Dans ce cas, SqlMi restaure automatiquement tous les fichiers dans le conteneur. À la fin de la migration, SqlMi signalera ce message d’erreur.

  • Recommandation : pour le mode de migration hors connexion, indiquez le nom « lastBackupName » avec le LSN le plus grand. Pour le scénario de migration en ligne, cet avertissement ou cette erreur peuvent être ignorés si l’état de la migration est réussi.

Code d’erreur : 2009 - MigrationRestoreFailed

  • Message : Migration for Database 'DatabaseName' failed with error cannot find server certificate with thumbprint.

  • Cause : avant de migrer les données, vous devez migrer le certificat d’instance SQL Server source d’une base de données protégée par TDE (Transparent Data Encryption) vers l’instance cible d’Azure SQL Managed Instance ou de SQL Server sur une machine virtuelle Azure.

  • Recommandation : Migrez le certificat TDE vers l’instance cible et réessayez le processus. Pour plus d’informations sur la migration des bases de données avec TDE activé, consultez Tutoriel : Migrer des bases de données avec TDE (Transparent Data Encryption) activé (préversion) vers Azure SQL dans Azure Data Studio.

  • Message : Migration for Database <DatabaseName> failed with error 'Non retriable error occurred while restoring backup with index 1 - 3169 The database was backed up on a server running version %ls. That version is incompatible with this server, which is running version %ls. Either restore the database on a server that supports the backup, or use a backup that is compatible with this server.

  • Cause : Impossible de restaurer une sauvegarde SQL Server vers une version de SQL Server antérieure à celle sur laquelle la sauvegarde a été créée.

  • Recommandation : Consultez Problèmes qui affectent la restauration de base de données entre différentes versions de SQL Server pour connaître les étapes de résolution des problèmes.

  • Message : Migration for Database <DatabaseName> failed with error 'The managed instance has reached its storage limit. The storage usage for the managed instance can't exceed 32768 MBs.

  • Cause : L’instance managée Azure SQL a atteint ses limites de ressources.

  • Recommandation : pour plus d’informations sur les limites de stockage, consultez Vue d’ensemble des limites de ressources Azure SQL Managed Instance.

  • Message : Migration for Database <DatabaseName> failed with error 'Non retriable error occurred while restoring backup with index 1 - 3634 The operating system returned the error '1450(Insufficient system resources exist to complete the requested service.)

  • Cause : L’un des symptômes listés dans Des erreurs de système d’exploitation 1450 et 665 sont signalés pour des fichiers de base de données pendant DBCC CHECKDB ou la création d’instantanés de base de données peut en être la cause.

  • Recommandation : Consultez Des erreurs de système d’exploitation 1450 et 665 sont signalées pour des fichiers de base de données pendant DBCC CHECKDB ou la création d’instantanés de base de données pour connaître les étapes de résolution des problèmes.

  • Message : The restore plan is broken because firstLsn <First LSN> of log backup <URL of backup in Azure Storage container>' isn't <= lastLsn <last LSN> of Full backup <URL of backup in Azure Storage container>'. Restore to point in time.

  • Cause : l’erreur peut être due à une mauvaise mise en place des sauvegardes dans le conteneur Stockage Azure. Si les sauvegardes sont placées dans le partage de fichiers réseau, cette erreur peut également se produire en raison de problèmes de connectivité réseau.

  • Recommandation : Vérifiez que les sauvegardes de base de données dans votre conteneur Stockage Azure sont correctes. Si vous utilisez un partage de fichiers réseau, il peut y avoir des problèmes liés au réseau et des retards qui sont à l’origine de cette erreur. Attendez que le processus se termine.

  • Message : Migration for Database <Database Name> failed with error 'Non retriable error occurred while restoring backup with index 1 - 3234 Logical file <Name> isn't part of database <Database GUID>. Use RESTORE FILELISTONLY to list the logical file names. RESTORE DATABASE is terminating abnormally.'.

  • Cause : Vous avez spécifié un nom de fichier logique qui ne figure pas dans la sauvegarde de la base de données. Une autre cause potentielle de cette erreur est un nom de conteneur de compte de stockage incorrect.

  • Recommandation : Exécutez RESTORE FILELISTONLY pour vérifier les noms de fichiers logiques dans votre sauvegarde. Pour plus d’informations sur RESTORE FILELISTONLY, consultez Instructions RESTORE - FILELISTONLY (Transact-SQL).

  • Message : Migration for Database <Database Name> failed with error 'Azure SQL target resource failed to connect to storage account. Make sure the target SQL VNet is allowed under the Azure Storage firewall rules.'

  • Cause : Le pare-feu Stockage Azure n’est pas configuré pour autoriser l’accès à l’instance cible d’Azure SQL.

  • Recommandation : pour plus d’informations sur la configuration du pare-feu Stockage Azure, consultez Configurer des pare-feux et des réseaux virtuels dans Stockage Azure.

  • Message : Migration for Database <Database Name> failed with error 'There are backups from multiple databases in the container folder. Please make sure the container folder has backups from a single database.

  • Cause : Des sauvegardes de plusieurs bases de données se trouvent dans le même dossier de conteneur.

  • Recommandation : Lors de la migration de plusieurs bases de données vers Azure SQL Managed Instance à l’aide du même conteneur Stockage Blob Azure, vous devez placer les fichiers de sauvegarde de différentes bases de données dans des dossiers distincts dans le conteneur. Pour plus d’informations sur LRS, consultez Migrer des bases de données depuis SQL Server vers SQL Managed Instance à l’aide de Log Replay Service (version préliminaire).

  • Message : Migration for Database <Database Name> failed with error 'Non retriable error occurred while restoring backup with index 1 - 12824 The sp_configure value 'contained database authentication' must be set to 1 in order to restore a contained database. You may need to use RECONFIGURE to set the value_in_use. RESTORE DATABASE is terminating abnormally.

  • Cause : la base de données source est une base de données autonome. Une configuration spécifique est nécessaire pour permettre la restauration d’une base de données autonome. Pour plus d'informations sur les bases de données autonomes, consultez Bases de données autonomes Utilisateurs.

  • Recommandation: exécutez la requête suivante connectée au serveur SQL Server source dans le contexte de la base de données spécifique avant de commencer la migration. Ensuite, réessayez la migration de la base de données autonome.

    -- Enable "contained database authentication"
    EXECUTE sp_configure 'contained', 1;
    
    RECONFIGURE;
    

    Remarque

    Pour plus d’informations sur les étapes générales de résolution des erreurs Azure SQL Managed Instance, consultez Problèmes connus avec Azure SQL Managed Instance.

Code d’erreur : 2012 - TestConnectionFailed

  • Message : Failed to test connections using provided Integration Runtime. Error details: 'Remote name could not be resolved.'

  • Cause: vos paramètres réseau dans le pare-feu empêchent le runtime d'intégration auto-hébergé de se connecter au back end de service.

  • Recommandation : Il existe un problème au niveau du système DNS (Domain Name System). Contactez votre équipe réseau pour résoudre ce problème. Pour plus d'informations, consultez Résoudre les problèmes liés au runtime d’intégration auto-hébergé.

  • Message : Failed to test connections using provided Integration Runtime. 'Cannot connect to <File share>. Detail Message: The system could not find the environment option that was entered

  • Cause : Le runtime d’intégration auto-hébergé ne peut pas se connecter au partage de fichiers réseau où les sauvegardes de base de données sont placées.

  • Recommandation : Vérifiez que le nom de votre partage de fichiers réseau est entré correctement.

  • Message : Failed to test connections using provided Integration Runtime. The file name does not conform to the naming rules by the data store. Illegal characters in path.

  • Cause : Le runtime d’intégration auto-hébergé ne peut pas se connecter au partage de fichiers réseau où les sauvegardes de base de données sont placées.

  • Recommandation : Vérifiez que le nom de votre partage de fichiers réseau est entré correctement.

  • Message : Failed to test connections using provided Integration Runtime.

  • Cause : La connexion au runtime d’intégration auto-hébergé a échoué.

  • Recommandation : Consultez Résoudre les problèmes liés au runtime d’intégration auto-hébergé pour connaître les étapes générales de résolution des erreurs de connectivité au runtime d’intégration.

Code d’erreur : 2014 - IntegrationRuntimeIsNotOnline

Code d’erreur : 2030 - AzureSQLManagedInstanceNotReady

  • Message : Azure SQL Managed Instance <Instance Name> isn't ready.

  • Cause : Azure SQL Managed Instance n’est pas à l’état « Prêt ».

  • Recommandation : Attendez que le déploiement d’Azure SQL Managed Instance soit terminé et prêt, puis réessayez le processus.

Code d’erreur : 2033 - SqlDataCopyFailed

  • Message : Migration for Database <Database> failed in state <state>.

  • Cause : Échec du pipeline ADF pour le déplacement des données.

  • Recommandation : Consultez la page MigrationStatusDetails pour obtenir des informations d’erreur plus détaillées.

Code d’erreur : 2038 - MigrationCompletedDuringCancel

  • Message : Migration cannot be canceled as Migration was completed during the cancel process. Target server: <Target server> Target database: <Target database>.

  • Cause : Une requête d’annulation a été reçue, mais la migration s’est terminée avec succès avant la fin de l’annulation.

  • Recommandation : aucune action requise. Migration réussie.

Code d’erreur : 2039 - MigrationRetryNotAllowed

  • Message : Migration isn't in a retriable state. Migration must be in state WaitForRetry. Current state: <State>, Target server: <Target Server>, Target database: <Target database>.

  • Cause : Une requête de nouvelle tentative a été reçue lorsque la migration n’était pas dans un état autorisant une nouvelle tentative.

  • Recommandation : aucune action requise. La migration est en cours ou terminée.

Code d’erreur : 2040 - MigrationTimeoutWaitingForRetry

  • Message : Migration retry timeout limit of 8 hours reached. Target server: <Target Server>, Target database: <Target Database>.

  • Cause : la migration était inactive dans un état d’échec mais autorisant les nouvelles tentatives pendant huit heures, et elle a été annulée automatiquement.

  • Recommandation : Aucune action n’est requise. La migration a été annulée.

Code d’erreur : 2041 - DataCopyCompletedDuringCancel

  • Message : Data copy finished successfully before canceling completed. Target schema is in bad state. Target server: <Target Server>, Target database: <Target Database>.

  • Cause : Une requête d’annulation a été reçue et la copie des données a été effectuée correctement, mais le schéma de base de données cible n’a pas été retourné à son état d’origine.

  • Recommandation : si vous le souhaitez, la base de données cible peut être retournée à son état d’origine en exécutant la première requête et toutes les requêtes retournées, puis en exécutant la deuxième requête et en procédant de la même façon.

    SELECT [ROLLBACK]
    FROM [dbo].[__migration_status]
    WHERE STEP IN (3, 4, 6);
    
    SELECT [ROLLBACK]
    FROM [dbo].[__migration_status]
    WHERE STEP IN (5, 7, 8)
    ORDER BY STEP DESC;
    

Code d’erreur : 2042 - PreCopyStepsCompletedDuringCancel

  • Message : Pre Copy steps finished successfully before canceling completed. Target database Foreign keys and temporal tables have been altered. Schema migration may be required again for future migrations. Target server: <Target Server>, Target database: <Target Database>.

  • Cause : Une requête d’annulation a été reçue et les étapes de préparation de la base de données cible pour la copie ont été effectuées avec succès. Le schéma de base de données cible n’a pas été retourné à son état d’origine.

  • Recommandation : Si vous le souhaitez, la base de données cible peut être retournée à son état d’origine en exécutant la requête suivante et toutes les requêtes retournées.

    SELECT [ROLLBACK]
    FROM [dbo].[__migration_status]
    WHERE STEP IN (3, 4, 6);
    

Code d’erreur : 2043 - CreateContainerFailed

  • Message : Create container <ContainerName> failed with error Error calling the endpoint '<URL>'. Response status code: 'NA - Unknown'. More details: Exception message: 'NA - Unknown [ClientSideException] Invalid Url:<URL>.

  • Cause : La requête a échoué en raison d’un problème sous-jacent, par exemple un problème de connectivité réseau, un échec de DNS, un problème de validation de certificat de serveur ou l’expiration d’un délai.

  • Recommandation : pour connaître les étapes de résolution des problèmes, consultez Résoudre les problèmes liés aux pipelines Azure Data Factory et Synapse.

Code d’erreur : 2049 - FileShareTestConnectionFailed

  • Message : The value of the property '' is invalid: 'Access to <share path> is denied, resolved IP address is <IP address>, network type is OnPremise'.

  • Cause : le partage réseau où sont stockées les sauvegardes de données, se trouve dans la même machine que le runtime d’intégration auto-hébergé (SHIR).

  • Recommandation : la dernière version d’Integration Runtime (5.28.8488) empêche l’accès à un partage de fichiers réseau sur un hôte local. Veillez à exécuter Integration Runtime sur une autre machine que celle hébergeant le partage réseau. Si l’hébergement du runtime d’intégration auto-hébergé et du partage réseau sur différentes machines n’est pas possible avec votre configuration de migration actuelle, vous pouvez utiliser l’option de désactivation à l’aide de DisableLocalFolderPathValidation.

    Remarque

    Pour plus d’informations, consultez Installer un runtime d’intégration auto-hébergé existant via la version locale de PowerShell. Utilisez l’option de désactivation avec prudence, car cela est moins sécurisé.

Code d’erreur : 2055 - SqlInfoCollectionFailed

  • Message : A database operation failed with the following error: 'VIEW SERVER PERFORMANCE STATE permission was denied on object 'server', database 'master'. The user does not have permission to perform this action.

  • Cause : la connexion utilisée pour le serveur cible (Azure SQL DB) n’a pas de rôle serveur ##MS_ServerStateReader##.

  • Recommandation : Fournissez le rôle ##MS_ServerStateReader## à la connexion pour la cible Azure SQL. Requête : ALTER SERVER ROLE ##MS_ServerStateReader## ADD MEMBER login.

Remarque : Cette requête doit être exécutée dans le contexte de la base de données master

Code d’erreur : 2056 - SqlInfoValidationFailed

  • Message : CollationMismatch: Source database collation <CollationOptionSource> is not the same as the target database <CollationOptionTarget>. Source database: <SourceDatabaseName> Target database: <TargetDatabaseName>.

  • Cause: le classement de base de données source n’est pas identique au classement de la base de données cible.

  • Recommandation : veillez à modifier le classement Azure SQL Database cible en fonction de la base de données SQL Server source. Azure SQL Database utilise SQL_Latin1_General_CP1_CI_AS le classement par défaut, si votre base de données SQL Server source utilise un classement différent, vous devrez peut-être recréer ou sélectionner une autre base de données cible avec un classement correspondant. Pour plus d’informations, consultez Prise en charge d’Unicode et du classement

  • Message : TableColumnCollationMismatch: Table <Tablename> with column <columnname> has collation <collationoptionsource> on source but has collation <collationoptiontarget> on target table.

  • Cause : Le classement des colonnes de la table de la base de données source n’est pas le même que le classement des colonnes de la table de la base de données cible.

  • Recommandation :

    1. Veillez à migrer le schéma pour cibler Azure SQL Database à l’aide de Database Migration Service. Consultez le blog.

    2. Suivez cet article pour modifier manuellement le classement.

    Pour plus d’informations, consultez Prise en charge d’Unicode et du classement

  • Message : DatabaseSizeMoreThanMax: No tables were found in the target Azure SQL Database. Check if schema migration was completed beforehand.

  • Cause: les tables sélectionnées pour la migration n’existent pas dans la base de données Azure SQL cible.

  • Recommandation : vérifiez que le schéma de base de données cible a été créé avant de commencer la migration. Pour plus d’informations sur le déploiement du schéma de base de données cible, consultez Extension des projets SQL Database

  • Message : DatabaseSizeMoreThanMax: The source database size <Source Database Size> exceeds the maximum allowed size of the target database <Target Database Size>. Check if the target database has enough space.

  • Cause: la base de données cible n’a pas suffisamment d’espace.

  • Recommandation : vérifiez que le schéma de base de données cible a été créé avant de commencer la migration. Pour plus d’informations sur le déploiement du schéma de base de données cible, consultez Extension des projets SQL Database.

  • Message : NoTablesFound: Some of the source tables don't exist in the target database. Missing tables: <TableList>.

  • Cause: les tables sélectionnées pour la migration n’existent pas dans la base de données Azure SQL cible.

  • Recommandation : vérifiez si les tables sélectionnées existent dans la base de données Azure SQL cible. Si cette migration est appelée à partir d’un script PowerShell, vérifiez si le paramètre de liste de tables inclut les noms de table corrects et s’il est passé dans la migration.

  • Message : SqlVersionOutOfRange: Source instance version is lower than 2008, which is not supported to migrate. Source instance: <InstanceName>.

  • Cause : Azure Database Migration Service ne prend pas en charge la migration à partir d’instances SQL Server antérieures à 2008.

  • Recommandation : mettez à niveau votre instance SQL Server source vers une version plus récente de SQL Server. Pour plus d’informations, consultez Mettre à niveau SQL Server.

  • Message : TableMappingMismatch: Some of the source tables don't exist in the target database. Missing tables: <TableList>.

  • Cause: les tables sélectionnées pour la migration n’existent pas dans la base de données Azure SQL cible.

  • Recommandation : vérifiez si les tables sélectionnées existent dans la base de données Azure SQL cible. Si cette migration est appelée à partir d’un script PowerShell, vérifiez si le paramètre de liste de tables inclut les noms de table corrects et s’il est passé dans la migration.

Code d’erreur : 2060 - SqlSchemaCopyFailed

  • Message : The SELECT permission was denied on the object 'sql_logins', database 'master', schema 'sys'.

  • Cause : le compte dont les clients se servent pour connecter Azure SQL Database ne dispose pas de l’autorisation d’accéder à sys.sql_logins la table.

  • Recommandation: il existe deux façons d'atténuer ce problème :

    1. Ajoutez le rôle « sysadmin » au compte, ce qui accorde l’autorisation Administrateur.

    2. Si les clients ne peuvent pas utiliser le compte sysadmin ou ne peuvent pas accorder l’autorisation sysadmin au compte, l’autorisation minimale requise sur SQL Server source est « db_owner » ; sur la base de données Azure SQL cible, créez un utilisateur dans master et accordez les rôles serveur fixes##MS_DatabaseManager##,##MS_DatabaseConnector##, ##MS_DefinitionReader## et ##MS_LoginManager### à l’utilisateur. Par exemple,

      -- Run the script in the master database
      CREATE LOGIN testuser WITH PASSWORD = '*********';
      
      ALTER SERVER ROLE ##MS_DefinitionReader## ADD MEMBER [testuser];
      GO
      
      ALTER SERVER ROLE ##MS_DatabaseConnector## ADD MEMBER [testuser];
      GO
      
      ALTER SERVER ROLE ##MS_DatabaseManager## ADD MEMBER [testuser];
      GO
      
      ALTER SERVER ROLE ##MS_LoginManager## ADD MEMBER [testuser];
      GO
      
      CREATE USER testuser FOR LOGIN testuser;
      EXECUTE sp_addRoleMember 'dbmanager', 'testuser';
      EXECUTE sp_addRoleMember 'loginmanager', 'testuser';
      
  • Message : Failed to get service token from ADF service.

  • Cause : le SHIR du client ne parvient pas à connecter la fabrique de données.

  • Recommandation : il s’agit d’un exemple de documentation sur la façon de le résoudre : Impossible pour le runtime d’intégration de se connecter à la fabrique de données

  • Message : IR Nodes are offline.

  • Cause : ceci est peut-être dû au fait que le réseau est interrompu pendant la migration et que le nœud IR devient donc hors connexion. Assurez-vous que l’ordinateur sur lequel SHIR est installé est activé.

  • Recommandation : assurez-vous que l’ordinateur sur lequel SHIR est installé est activé.

  • Message : Deployed failure: {0}. Object element: {1}.

  • Cause : il s’agit de l’erreur la plus courante que les clients peuvent rencontrer. Cela signifie que l’objet ne peut pas être déployé sur la cible, car il n’est pas pris en charge sur la cible.

  • Recommandation : les clients doivent vérifier les résultats de l’évaluation (règles d’évaluation). Il s’agit de la liste des problèmes d’évaluation susceptibles de faire échouer la migration de schéma :

    Remarque

    Pour afficher les détails des erreurs, ouvrez le manager de configuration du runtime d’intégration Microsoft, puis accédez à Diagnostics > Journalisation > Afficher les journaux. Dans l’observateur d’événements, accédez à Journaux d’application et de service > Connecteurs - Runtime d’intégrationet filtrez les erreurs.

  • Message : Deployed failure: Index cannot be created on computed column '{0}' of table '{1}' because the underlying object '{2}' has a different owner. Object element: {3}.

    Exemple de script généré : IF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[Sales].[Customer]') AND name = N'AK_Customer_AccountNumber') CREATE UNIQUE NONCLUSTERED INDEX [AK_Customer_AccountNumber] ON [Sales].[Customer] ( [AccountNumber] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)

  • Cause : toutes les références de fonctions dans la colonne calculée doivent avoir le même propriétaire que la table.

  • Recommandation : consultez Exigences de propriété.

Code d’erreur : Ext_RestoreSettingsError

  • Message : Unable to read blobs in storage container, exception: The remote server returned an error: (403) Forbidden.; The remote server returned an error: (403) Forbidden

  • Cause : la cible Azure SQL ne peut pas se connecter au stockage blob.

  • Recommandation : confirmez que les paramètres réseau cibles autorisent l’accès au stockage blob. Par exemple, si vous migrez vers une cible de machine virtuelle SQL Server sur Azure, vérifiez que les connexions sortantes sur la machine virtuelle ne sont pas bloquées.

  • Message : Failed to create restore job. Unable to read blobs in storage container, exception: The remote name could not be resolved.

  • Cause : la cible Azure SQL ne peut pas se connecter au stockage blob.

  • Recommandation : confirmez que les paramètres réseau cibles autorisent l’accès au stockage blob. Par exemple, si vous migrez vers une machine virtuelle SQL, vérifiez que les connexions sortantes sur la machine virtuelle ne sont pas bloquées.

  • Message : Migration for Database <Database Name> failed with error 'Migration cannot be completed because provided backup file name <Backup File Name> should be the last restore backup file <Last Restore Backup File Name>'.

  • Cause : la sauvegarde la plus récente n’a pas été spécifiée dans les paramètres de sauvegarde.

  • Recommandation : spécifiez le nom du fichier de sauvegarde le plus récent dans les paramètres de sauvegarde et réessayez l’opération.

  • Message : Operation failed: errorCode: Ext_RestoreSettingsError, message: RestoreId: 1111111-aaaa-bbbb-cccc-dddddddd, OperationId: 2222222-aaaa-bbbb-cccc-dddddddd, Detail: Unable to read blobs in storage container, exception: Unable to connect to the remote server;Unable to connect to the remote server;A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 11.111.11.111:443.

  • Cause : il est possible qu’une erreur se produise pour les deux comptes de stockage avec un réseau public et une configuration de point de terminaison privé. Il est également possible que vous disposiez d’un serveur DNS local qui contrôle un routage réseau hybride et un protocole DHCP. À moins d’autoriser les adresses IP Azure configurées dans votre serveur DNS, votre serveur SQL Server sur la cible de machine virtuelle Azure n’a pas la possibilité de résoudre le point de terminaison d’objet blob de stockage distant.

  • Recommandation : pour déboguer ce problème, vous pouvez essayer d’effectuer un test ping sur votre URL de stockage Blob Azure à partir de votre serveur SQL Server sur la cible de machine virtuelle Azure et confirmer si vous avez un problème de connectivité. Pour résoudre ce problème, vous devez autoriser les adresses IP Azure configurées dans votre serveur DNS. Pour plus d’informations, découvrez consultez Résoudre les problèmes de connectivité de point de terminaison privé Azure

Code d’erreur : Aucun hôte de ce type n’est connu OU erreur d’ouverture [Erreur n° 11001] getaddrinfo failed

  • Message : No such host is known

  • Cause:la migration de connexions à l’aide de la commande PowerShell New-AzDataMigrationLoginsMigration échoue et affiche le message précédent.

  • Recommandation: pour résoudre ce problème, mettez à niveau Microsoft Azure PowerShell - cmdlets Database Migration Service - Az.DataMigration au-delà de la version minimale 0.14.5.

    La dernière version d’Az.Datamigration peut être téléchargée depuis la galerie PowerShell ou la commande suivante peut être utilisée pour une mise à niveau.

 Update-Module -Name Az.DataMigration
  • Message : urlopen error [Errno 11001] getaddrinfo failed

  • Cause: la migration de connexions à l’aide de l’interface de ligne de commande Azure Az dataMigration login-migration échoue et affiche le message précédent.

  • Recommandation: pour résoudre ce problème, mettez à niveau l’interface de ligne de commande Microsoft Azure - extension Database Migration Service - az dataMigration vers la version 1.0.0b1 ou une version ultérieure. Pour procéder à la mise à niveau, exécutez la commande suivante.

 az extension update -n datamigration

Règles de nommage d’Azure Database Migration Service

Si votre service DMS a échoué avec une « Erreur : Le nom du service x_y_z n’est pas valide », vous devez suivre les règles de nommage d’Azure Database Migration Service. Comme Azure Database Migration Service utilise Azure Data Factory pour son calcul, il suit exactement les mêmes règles de nommage que celles mentionnées dans les règles de nommage.

Limitations d’Azure SQL Database

La migration vers Azure SQL Database à l’aide de l’extension Azure SQL pour Azure Data Studio présente les limitations suivantes :

La migration hors connexion Azure SQL Database utilise des pipelines ADF (Azure Data Factory) pour le déplacement des données, et respecte donc les limitations ADF. Un ADF correspondant est créé lorsqu’un service de migration de base de données est également créé. Ainsi, les limites d’usine s’appliquent par service.

  • La machine sur laquelle le SHIR est installé sert de calcul pour la migration. Assurez-vous que cette machine peut gérer la charge du processeur et de la mémoire de la copie de données. Pour en savoir plus, consultez recommandations SHIR.
  • Limite de 100 000 tables par base de données.
  • 10 000 migrations de base de données simultanées par service.
  • La vitesse de migration dépend fortement de la référence SKU Azure SQL Database cible et de l’hôte de runtime d’intégration auto-hébergé.
  • La migration Azure SQL Database évolue mal avec les numéros de table en raison de la surcharge ADF dans les activités de démarrage. Si une base de données contient des milliers de tables, le processus de démarrage de chaque table peut prendre plusieurs secondes, même si elles sont composées d’une ligne avec un bit de données.
  • Les noms des tables Azure SQL Database avec des caractères codés sur deux octets ne sont actuellement pas pris en charge pour la migration. L’atténuation consiste à renommer les tables avant la migration ; leur nom d’origine pourra être rétabli après une migration réussie.
  • La migration des tables dotées de grandes colonnes d’objets blob peut échouer en raison d’un délai d’expiration.
  • Les noms de base de données avec SQL Server réservés ne sont actuellement pas pris en charge.
  • Les noms de base de données qui incluent des points-virgules ne sont actuellement pas pris en charge.
  • Les colonnes calculées ne sont pas migrées.

Limitations d’Azure SQL Managed Instance

La migration vers Azure SQL Managed Instance à l’aide de l’extension Azure SQL pour Azure Data Studio présente les limitations suivantes :

  • Si vous migrez une base de données unique, les sauvegardes de base de données doivent être placées dans une structure de fichiers plats à l’intérieur d’un dossier de base de données (contenant le dossier racine conteneur), et les dossiers ne peuvent pas être imbriqués, car cela n’est pas pris en charge.
  • Lors de la migration de plusieurs bases de données à l’aide du même conteneur de Stockage Blob Azure, vous devez placer les fichiers de sauvegarde de différentes bases dans des dossiers distincts dans le conteneur.
  • Le remplacement des bases de données existantes à l’aide de DMS dans votre Azure SQL Managed Instance cible n’est pas pris en charge.
  • DMS ne prend pas en charge la configuration de la haute disponibilité et récupération d’urgence sur votre cible pour qu’elle corresponde à la topologie source.
  • Les objets serveur suivants ne sont pas pris en charge :
    • travaux de l'Agent SQL Server
    • Informations d'identification
    • Packages SSIS
    • Audit de serveur
  • Vous ne pouvez pas utiliser un runtime d’intégration auto-hébergé existant créé à partir d’Azure Data Factory pour les migrations de base de données avec DMS. Au départ, le runtime d’intégration auto-hébergé doit être créé à l’aide de l’extension de migration Azure SQL dans Azure Data Studio, et il peut être réutilisé pour des migrations de base de données supplémentaires.
  • Un travail LRS unique (créé par DMS) peut s’exécuter pendant un maximum de 30 jours. Lorsque cette période arrive à expiration, la tâche est automatiquement annulée et votre base de données cible est automatiquement supprimée.
  • Si vous recevez l’erreur suivant : Memory-optimized filegroup must be empty in order to be restored on General Purpose tier of SQL Database Managed Instance. Ce problème est dû à sa conception. Hekaton (également connu comme SQL Server OLTP en mémoire) n’est pas pris en charge sur un niveau d’usage général d’Instance gérée Azure SQL. Pour poursuivre la migration, une méthode consiste à effectuer une mise à niveau vers le niveau critique pour l’entreprise qui prend en charge Hekaton. Une autre méthode consiste à veiller à ce que la base de données source ne l’utilise pas quand l’Instance gérée Azure SQL est en usage général.

Limitations de SQL Server sur des machines virtuelles Azure

La migration vers SQL Server sur des machines virtuelles Azure à l’aide de l’extension Azure SQL pour Azure Data Studio présente les limitations suivantes :

  • Si vous migrez une base de données unique, les sauvegardes de base de données doivent être placées dans une structure de fichiers plats à l’intérieur d’un dossier de base de données (contenant un dossier racine conteneur), et les dossiers ne peuvent pas être imbriqués, car cela n’est pas pris en charge.
  • Lors de la migration de plusieurs bases de données à l’aide du même conteneur de Stockage Blob Azure, vous devez placer les fichiers de sauvegarde de différentes bases dans des dossiers distincts dans le conteneur.
  • Le remplacement des bases de données existantes à l’aide de DMS dans votre SQL Server cible sur une machine virtuelle Azure n’est pas pris en charge.
  • La configuration de la haute disponibilité et de la récupération d’urgence sur votre cible pour qu’elle corresponde à la topologie source n’est pas prise en charge par DMS.
  • Les objets serveur suivants ne sont pas pris en charge :
    • travaux de l'Agent SQL Server
    • Informations d'identification
    • Packages SSIS
    • Audit de serveur
  • Vous ne pouvez pas utiliser un runtime d’intégration auto-hébergé existant créé à partir d’Azure Data Factory pour les migrations de base de données avec DMS. Au départ, le runtime d’intégration auto-hébergé doit être créé à l’aide de l’extension de migration Azure SQL dans Azure Data Studio, et il peut être réutilisé pour des migrations de base de données supplémentaires.
  • Les machines Virtuelles avec SQL Server 2008 et les versions antérieures ne sont pas pris en charge pour la migration vers SQL Server sur des machines virtuelles Azure.
  • Si vous utilisez une machine virtuelle avec SQL Server 2012 ou SQL Server 2014, vous devez stocker vos fichiers de sauvegarde de base de données source sur un conteneur Azure Storage Blob au lieu d’utiliser l’option de partage réseau. Stockez les fichiers de sauvegarde en tant qu’objets blob de pages, car les objets blob de blocs ne sont pris en charge que dans SQL 2016 et versions ultérieures.
  • Vous devez vous assurer que l’extension IAAS SQL Agent dans la machine virtuelle Azure cible est en mode Complet au lieu du mode Léger.
  • L’extension d’agent IaaS SQL prend uniquement en charge la gestion de l’instance de serveur par défaut ou de l’instance nommée unique.
  • Vous pouvez migrer un maximum de 100 bases de données vers la même machine virtuelle Azure SQL Server que la cible en utilisant une ou plusieurs migrations simultanément. De plus, une fois qu’une ou plusieurs migrations de 100 bases de données est terminée, attendez au moins 30 minutes avant de commencer une nouvelle migration vers la même machine virtuelle Azure SQL Server que la cible. De même, chaque opération de migration (démarrage de la migration, basculement) pour chaque base de données prendra quelques minutes de manière séquentielle. Par exemple, la migration de 100 bases de données peut prendre environ 200 (2 x 100) minutes pour créer la file d’attente de migration et environ 100 (1 x 100) minutes pour basculer toutes les 100 bases de données (à l’exclusion du délai de sauvegarde et de restauration). Par conséquent, la migration devient plus lente à mesure que le nombre de bases de données augmente. Microsoft recommande de planifier une fenêtre de migration plus longue à l’avance en fonction de tests de migration rigoureux ou de partitionner un grand nombre de bases de données en lots lors de leur migration vers une machine virtuelle Azure SQL Server.
  • Outre la configuration du réseau/pare-feu de votre compte de stockage Azure pour permettre à votre machine virtuelle d’accéder aux fichiers de sauvegarde. Vous devez également configurer la mise en réseau/le pare-feu de votre SQL Server sur une machine virtuelle Azure pour autoriser la connexion sortante à votre compte de stockage.
  • Vous devez conserver la SQL Server cible sur la machine virtuelle Azure sous tension pendant que la migration SQL est en cours. En outre, lors de la création d’une migration, basculez ou annulez la migration.
  • Erreur : Login failed for user 'NT Service\SQLIaaSExtensionQuery. Raison : SQL Server instance est en mode mono-utilisateur. L’une des raisons possibles est que la SQL Server cible sur une machine virtuelle Azure est en mode de mise à niveau. Solution : attendez que le SQL Server cible sur la machine virtuelle Azure quitte le mode de mise à niveau et recommencez la migration.
  • Erreur : Ext_RestoreSettingsError, message: Failed to create restore job.;Cannot create file 'F:\data\XXX.mdf' because it already exists. Solution : Connectez-vous au SQL Server cible sur la machine virtuelle Azure et supprimez le fichier XXX.mdf. Ensuite, redémarrez la migration.

Limitations d’Azure Data Studio

Échec du démarrage de Sql Migration Service : Erreur : Erreur de demande

  • Message : Error at ClientRequest.<anonymous> (c:\Users\MyUser\.azuredatastudio\extensions\microsoft.sql-migration-1.4.2\dist\main.js:2:7448) at ClientRequest.emit (node:events:538:35) at TLSSocket.socketOnEnd (node:_http_client:466:9) at TLSSocket.emit (node:events:538:35) at endReadableNT (node:internal/streams/readable:1345:12) at process.processTicksAndRejections (node:internal/process/task_queues:83:21)

  • Cause : ce problème se produit lorsqu’Azure Data Studio n’est pas en mesure de télécharger le package MigrationService à partir de https://github.com/microsoft/sqltoolsservice/releases. L’échec de téléchargement peut être dû au travail réseau déconnecté ou aux paramètres proxy non résolus.

  • Recommandation : le moyen sûr de résoudre ce problème consiste à télécharger le package manuellement. Suiviez les mesures d’atténuation décrites dans lien : https://github.com/microsoft/azuredatastudio/issues/22558#issuecomment-1496307891