Share via


Règles d’évaluation pour la migration de SQL Server vers Azure SQL Database

S’applique à Azure SQL Database

Les outils de migration valident votre instance SQL Server source en exécutant un certain nombre de règles d’évaluation afin d’identifier les problèmes à résoudre avant la migration de votre base de données SQL Server vers Azure SQL Database.

Cet article fournit la liste des règles utilisées pour évaluer la faisabilité de la migration de votre base de données SQL Server vers Azure SQL Database.

Résumé des règles

Titre de la règle Level Category Détails
AgentJobs Instance Avertissement Les travaux SQL Server Agent ne sont pas disponibles dans Azure SQL Database.
BulkInsert Base de données Problème L’instruction BULK INSERT avec une source de données blob non-Azure n’est pas prise en charge dans Azure SQL Database.
ClrAssemblies Base de données Problème Les assemblys SQL CLR ne sont pas pris en charge dans Azure SQL Database.
ComputeClause Base de données Avertissement La clause COMPUTE n’est plus prise en charge et a été supprimée.
CrossDatabaseReferences Base de données Problème Les requêtes de bases de données croisées ne sont pas prises en charge dans Azure SQL Database.
CryptographicProvider Base de données Problème Nous avons identifié une utilisation de CREATE CRYPTOGRAPHIC PROVIDER ou ALTER CRYPTOGRAPHIC PROVIDER, ce qui n’est pas pris en charge dans Azure SQL Database.
DatabaseMail Instance Avertissement Database Mail n’est pas pris en charge dans Azure SQL Database.
DatabasePrincipalAlias Base de données Problème SYS.DATABASE_PRINCIPAL_ALIASES n’est plus pris en charge et a été supprimé.
DbCompatLevelLowerThan100 Base de données Avertissement Azure SQL Database ne prend pas en charge les niveaux de compatibilité inférieurs à 100.
DisableDefCNSTCHK Base de données Problème L’option SET DISABLE_DEF_CNST_CHK n’est plus prise en charge et a été supprimée.
FastFirstRowHint Base de données Avertissement L’indicateur de requête FASTFIRSTROW n’est plus pris en charge et a été supprimé.
FileStream Base de données Problème FILESTREAM n’est pas pris en charge dans Azure SQL Database.
LinkedServer Base de données Problème La fonctionnalité de serveur lié n’est pas prise en charge dans Azure SQL Database.
MSDTCTransactSQL Base de données Problème BEGIN DISTRIBUTED TRANSACTION n’est pas pris en charge dans Azure SQL Database.
NextColumn Base de données Problème Les tables et colonnes nommées NEXT provoquent une erreur dans Azure SQL Database.
NonANSILeftOuterJoinSyntax Base de données Avertissement La jonction externe gauche de style non-ANSI n’est plus prise en charge et a été supprimée.
NonANSIRightOuterJoinSyntax Base de données Avertissement La jonction externe droite de style non-ANSI n’est plus prise en charge et a été supprimée.
OpenRowsetWithNonBlobDataSourceBulk Base de données Problème L’élément OpenRowSet utilisé dans une opération en bloc avec une source de données de stockage blob non-Azure n’est pas pris en charge dans Azure SQL Database.
OpenRowsetWithSQLAndNonSQLProvider Base de données Problème L’élément OpenRowSet avec un fournisseur SQL ou non-SQL n’est pas pris en charge dans Azure SQL Database.
RAISERROR Base de données Avertissement Les appels de RAISERROR en style hérité doivent être remplacés par des équivalents récents.
ServerAudits Instance Avertissement Les audits de serveur ne sont pas pris en charge dans Azure SQL Database.
ServerCredentials Instance Avertissement Les informations d’identification incluses dans l’étendue du serveur ne sont pas prises en charge dans Azure SQL Database.
ServerScopedTriggers Instance Avertissement Le déclencheur inclus dans l’étendue du serveur n’est pas pris en charge dans Azure SQL Database.
ServiceBroker Base de données Problème La fonctionnalité Service Broker n’est pas prise en charge dans Azure SQL Database.
SQLDBDatabaseSize Base de données Problème Azure SQL Database ne prend pas en charge les tailles de base de données supérieures à 100 To.
SqlMail Base de données Avertissement SQL Mail n’est plus disponible.
SystemProcedures110 Base de données Avertissement Instructions détectées qui référencent des procédures stockées système supprimées qui ne sont pas disponibles dans Azure SQL Database.
TraceFlags Instance Avertissement Azure SQL Database ne prend pas en charge les indicateurs de trace.
WindowsAuthentication Instance Avertissement Les utilisateurs de base de données mappés avec l’authentification Windows (sécurité intégrée) ne sont pas pris en charge dans Azure SQL Database.
XpCmdshell Base de données Problème xp_cmdshell n’est pas pris en charge dans Azure SQL Database.

BULK INSERT

Titre : L’instruction BULK INSERT avec une source de données blob non-Azure n’est pas prise en charge dans Azure SQL Database.
Catégorie: Problème

Description
Azure SQL Database ne peut pas accéder à des partages de fichiers ou à des dossiers Windows. Consultez la section « Objets affectés » pour connaître les utilisations spécifiques des instructions BULK INSERT qui ne font pas référence à un blob Azure. Les objets avec l’instruction BULK INSERT, dont la source n’est pas le Stockage Blob Azure, ne fonctionnent pas après la migration vers Azure SQL Database.

Recommandation
Vous devez convertir les instructions BULK INSERT qui utilisent des fichiers locaux ou des partages de fichiers de sorte qu’elles utilisent plutôt des fichiers de Stockage Blob Azure lors de la migration vers Azure SQL Database. Vous pouvez également migrer vers SQL Server sur une machine virtuelle Azure.

Clause COMPUTE

La clause COMPUTE n’est plus prise en charge et a été supprimée.
Catégorie : Avertissement

Description
La clause COMPUTE génère des totaux qui s’affichent sous la forme de colonnes de résumé supplémentaires à la fin du jeu de résultats. Toutefois, cette clause n’est plus prise en charge dans Azure SQL Database.

Recommandation
Le module T-SQL doit être réécrit en utilisant l’opérateur ROLLUP à la place. Le code ci-dessous montre comment remplacer COMPUTE par ROLLUP :

USE AdventureWorks2022;GO;

SELECT SalesOrderID,
    UnitPrice,
    UnitPriceDiscount
FROM Sales.SalesOrderDetail
ORDER BY SalesOrderID COMPUTE SUM(UnitPrice),
    SUM(UnitPriceDiscount) BY SalesOrderID GO;

SELECT SalesOrderID,
    UnitPrice,
    UnitPriceDiscount,
    SUM(UnitPrice) AS UnitPrice,
    SUM(UnitPriceDiscount) AS UnitPriceDiscount
FROM Sales.SalesOrderDetail
GROUP BY SalesOrderID,
    UnitPrice,
    UnitPriceDiscount
WITH ROLLUP;

Informations supplémentaires : Fonctionnalité du moteur de base de données abandonnée dans SQL Server

Assemblys CLR

Titre : Les assemblys SQL CLR ne sont pas pris en charge dans Azure SQL Database
Catégorie: Problème

Description
Azure SQL Database ne prend pas en charge les assemblys SQL CLR.

Recommandation
Actuellement, il n’existe aucun moyen de parvenir à cela dans Azure SQL Database. Les solutions alternatives recommandées requièrent un code d’application et des modifications de base de données pour utiliser uniquement les assemblys pris en charge par Azure SQL Database. Vous pouvez également migrer vers Azure SQL Managed Instance ou SQL Server sur des machines virtuelles Azure.

Informations supplémentaires : Différences Transact-SQL non prises en charge dans SQL Database

Fournisseur de chiffrement

Titre : Nous avons identifié une utilisation de CREATE CRYPTOGRAPHIC PROVIDER ou ALTER CRYPTOGRAPHIC PROVIDER, ce qui n’est pas pris en charge dans Azure SQL Database
Catégorie: Problème

Description
Azure SQL Database ne prend pas en charge les instructions CRYPTOGRAPHIC PROVIDER, car elles ne peuvent pas accéder aux fichiers. Consultez la section sur les Objets affectés pour connaître les utilisations spécifiques des instructions CRYPTOGRAPHIC PROVIDER. Les objets adotés de CREATE CRYPTOGRAPHIC PROVIDER ou ALTER CRYPTOGRAPHIC PROVIDER ne fonctionneront pas correctement après la migration vers Azure SQL Database.

Recommandation
Passez en revue les objets avec CREATE CRYPTOGRAPHIC PROVIDER ou ALTER CRYPTOGRAPHIC PROVIDER . Dans tous les objets de ce type requis, supprimez les utilisations de ces fonctionnalités. Vous pouvez également migrer vers SQL Server sur une machine virtuelle Azure.

Références des bases de données croisées

Titre : Les requêtes de bases de données croisées ne sont pas prises en charge dans Azure SQL Database
Catégorie: Problème

Description
Les bases de données sur ce serveur utilisent des requêtes de bases de données croisées qui ne sont pas prises en charge dans Azure SQL Database.

Recommandation
Azure SQL Database ne prend pas en charge les requêtes entre bases de données. Les actions suivantes sont recommandées :

  • Migrez la ou les bases de données dépendantes vers Azure SQL Database, et utilisez la fonctionnalité Requête de base de données élastique (actuellement en préversion) pour interroger les bases de données Azure SQL.
  • Déplacez les jeux de données dépendants d’autres bases de données dans la base de données en cours de migration.
  • Migrez vers Azure SQL Managed Instance.
  • Migrez vers SQL Server sur une machine virtuelle Azure.

Informations supplémentaires : Découvrir la requête de base de données élastique Azure SQL Database (version préliminaire)

Compatibilité de base de données

Titre : Azure SQL Database ne prend pas en charge les niveaux de compatibilité inférieurs à 100.
Catégorie : Avertissement

Description
Le Niveau de compatibilité de la base de données est un outil précieux quand il s’agit de moderniser une base de données. Il permet en effet de mettre à niveau le Moteur de base de données SQL Server tout en continuant de connecter l’état opérationnel des applications en conservant le niveau de compatibilité de la base de données antérieur à la mise à niveau. Azure SQL Database ne prend pas en charge les niveaux de compatibilité inférieurs à 100.

Recommandation
Évaluez si la fonctionnalité de l’application est intacte quand le niveau de compatibilité de la base de données est porté à 100 sur Azure SQL Database. Vous pouvez également migrer vers SQL Server sur une machine virtuelle Azure.

Messagerie de base de données

Titre : Database Mail n’est pas pris en charge dans Azure SQL Database.
Catégorie : Avertissement

Description
Ce serveur utilise la fonctionnalité Database Mail, qui n’est pas prise en charge dans Azure SQL Database.

Recommandation
Envisagez de migrer vers Azure SQL Database qui prend en charge Database Mail. Vous pouvez également songer à utiliser Azure Functions et Sendgrid pour obtenir la fonctionnalité de courrier sur Azure SQL Database.

Alias principal de base de données

Titre : SYS.DATABASE_PRINCIPAL_ALIASES n’est plus pris en charge et a été supprimé.
Catégorie: Problème

Description
SYS.DATABASE_PRINCIPAL_ALIASES n’est plus pris en charge et a été supprimé dans Azure SQL Database.

Recommandation
Utilisez des rôles à la place d'alias.

Informations supplémentaires : Fonctionnalité du moteur de base de données abandonnée dans SQL Server

Option DISABLE_DEF_CNST_CHK

Titre : L’option SET DISABLE_DEF_CNST_CHK n’est plus disponible et a été supprimée.
Catégorie: Problème

Description
L’option SET DISABLE_DEF_CNST_CHK n’est plus disponible et a été supprimée dans Azure SQL Database.

Informations supplémentaires : Fonctionnalité du moteur de base de données abandonnée dans SQL Server

FASTFIRSTROW, indicateur

L’indicateur de requête FASTFIRSTROW n’est plus pris en charge et a été supprimé.
Catégorie : Avertissement

Description
L’indicateur de requête FASTFIRSTROW n’est plus pris en charge et a été supprimé dans Azure SQL Database.

Recommandation
Au lieu de l’indicateur de requête FASTFIRSTROW, utilisez OPTION (FAST n).

Informations supplémentaires : Fonctionnalité du moteur de base de données abandonnée dans SQL Server

FILESTREAM

Titre : FILESTREAM n’est pas pris en charge dans Azure SQL Database
Catégorie: Problème

Description
La fonctionnalité Filestream, qui permet de stocker des données non structurées telles que des documents texte, des images et des vidéos dans le système de fichiers NTFS, n’est pas prise en charge dans Azure SQL Database.

Recommandation
Chargez les fichiers non structurés dans le service Stockage Blob Azure et stockez les métadonnées associées à ces fichiers (nom, type, adresse URL, clé de stockage, etc.) dans Azure SQL Database. Il se peut que vous deviez remanier votre application pour activer la diffusion en continu de blobs vers et depuis Azure SQL Database. Vous pouvez également migrer vers SQL Server sur une machine virtuelle Azure.

Informations supplémentaire : Blog sur la diffusion en continu de blobs vers et depuis SQL Azure

Serveur lié

Titre : La fonctionnalité de serveur lié n’est pas prise en charge dans Azure SQL Database
Catégorie: Problème

Description
Des serveurs liés permettent au Moteur de base de données SQL Server d’exécuter des commandes sur des sources de données OLE DB en dehors de l’instance de SQL Server.

Recommandation
Azure SQL Database ne prend pas en charge la fonctionnalité de serveur lié. Les actions suivantes sont recommandées pour éliminer le besoin de serveurs liés :

  • Identifiez les jeux de données dépendants à partir de serveurs SQL distants et envisagez de les déplacer dans la base de données en cours de migration.
  • Migrez la ou les bases de données dépendantes vers Azure, et utilisez la fonctionnalité Requête de base de données élastique (préversion) pour interroger les bases de données dans Azure SQL Database.

Informations supplémentaires : Découvrir la requête élastique Azure SQL Database (préversion).

MS DTC

Titre : BEGIN DISTRIBUTED TRANSACTION n’est pas pris en charge dans Azure SQL Database.
Catégorie: Problème

Description
La transaction distribuée BEGIN DISTRIBUTED TRANSACTION démarrée par Transact-SQL et gérée par Microsoft Distributed Transaction Coordinator (MS DTC) n’est pas prise en charge dans Azure SQL Database.

Recommandation
Examinez la section sur les Objets affectés dans Azure Migrate pour voir tous les objets utilisant la transaction BEGIN DISTRUBUTED TRANSACTION. Envisagez de migrer les bases de données participantes vers Azure SQL Managed Instance où les transactions distribuées sur plusieurs instances sont prises en charge. Pour plus d’informations, consultez Transactions sur plusieurs serveurs pour Azure SQL Managed Instance.

Vous pouvez également migrer vers SQL Server sur une machine virtuelle Azure.

OPENROWSET (en bloc)

Titre : L’élément OpenRowSet utilisé dans une opération en bloc avec une source de données de stockage blob non-Azure n’est pas pris en charge dans Azure SQL Database.
Catégorie: Problème

Description OPENROWSET prend en charge les opérations en bloc par l’intermédiaire d’un fournisseur BULK intégré qui permet de lire les données d’un fichier et de les retourner sous la forme d’un ensemble de lignes. OPENROWSET avec une source de données de stockage blob non-Azure n’est pas pris en charge dans Azure SQL Database.

Recommandation
Azure SQL Database ne peut pas accéder aux partages de fichiers et dossiers Windows. Les fichiers doivent donc être importés à partir de Stockage Blob Azure. Par conséquent, seul le type de blob DATASOURCE est pris en charge dans la fonction OPENROWSET. Vous pouvez également migrer vers SQL Server sur une machine virtuelle Azure

Informations supplémentaires : Résolution des différences de Transact-SQL durant la migration vers SQL Database

OPENROWSET (fournisseur)

Titre : L’élément OpenRowSet avec un fournisseur SQL ou non-SQL n’est pas pris en charge dans Azure SQL Database.
Catégorie: Problème

Description
OpenRowSet avec un fournisseur SQL ou non-SQL est une autre façon d’accéder à des tables dans un serveur lié et constitue une méthode efficace pour vous connecter et accéder à des données distantes en utilisant OLE DB. L’élément OpenRowSet avec un fournisseur SQL ou non-SQL n’est pas pris en charge dans Azure SQL Database.

Recommandation
Azure SQL Database prend en charge OPENROWSET uniquement pour l’importation à partir du service Stockage Blob Azure. Vous pouvez également migrer vers SQL Server sur une machine virtuelle Azure.

Informations supplémentaires : Résolution des différences de Transact-SQL durant la migration vers SQL Database

Jointure externe gauche non ANSI

Titre : La jonction externe gauche de style non-ANSI n’est plus prise en charge et a été supprimée.
Catégorie : Avertissement

Description
La jonction externe gauche de style non-ANSI n’est plus prise en charge et a été supprimée dans Azure SQL Database.

Recommandation
Utilisez la syntaxe de jointure ANSI.

Informations supplémentaires : Fonctionnalité du moteur de base de données abandonnée dans SQL Server

Jointure externe droite non ANSI

Titre : La jonction externe droite de style non-ANSI n’est plus prise en charge et a été supprimée.
Catégorie : Avertissement

Description
La jonction externe droite de style non-ANSI n’est plus prise en charge et a été supprimée dans Azure SQL Database.

Recommandation
Utilisez la syntaxe de jointure ANSI.

Informations supplémentaires : Fonctionnalité du moteur de base de données abandonnée dans SQL Server

Colonne Next

Titre : les tables et colonnes nommées NEXT provoquent une erreur dans Azure SQL Database.
Catégorie: Problème

Description
Des tables ou colonnes nommées NEXT ont été détectées. Les séquences introduites dans Microsoft SQL Server utilisent la fonction ANSI standard NEXT VALUE FOR. Si une table ou une colonne est nommée NEXT, que la colonne a pour alias VALUE et que l'ANSI standard AS est omis, l'instruction obtenue peut provoquer une erreur.

Recommandation
Réécrivez les instructions pour inclure le mot clé ANSI standard AS lors de l'utilisation d'alias pour une table ou une colonne. Par exemple, quand une colonne est nommée NEXT et que cette colonne a pour alias VALUE, la requête SELECT NEXT VALUE FROM TABLE provoque une erreur et doit être réécrite sous la forme SELECT NEXT AS VALUE FROM TABLE. De même, quand une table est nommée NEXT et que cette table a pour alias VALUE, la requête SELECT Col1 FROM NEXT VALUE provoque une erreur et doit être réécrite sous la forme SELECT Col1 FROM NEXT AS VALUE.

RAISERROR

Titre : Les appels de RAISERROR de style hérité doivent être remplacés par des équivalents récents.
Catégorie : Avertissement

Description
Les appels RAISERROR comme dans l’exemple ci-dessous sont dits de style hérité parce qu’ils n’incluent pas les virgules et les parenthèses. RAISERROR 50001 'this is a test'. Cette méthode d’appel de RAISERROR n’est plus prise en charge et a été supprimée dans Azure SQL Database.

Recommandation
Réécrivez l’instruction en utilisant la syntaxe de RAISERROR actuelle ou vérifiez si l’approche moderne de BEGIN TRY { } END TRY BEGIN CATCH { THROW; } END CATCH est applicable.

Informations supplémentaires : Fonctionnalité du moteur de base de données abandonnée dans SQL Server

Audits du serveur

Titre : Utiliser les fonctionnalités d’audit d’Azure SQL Database pour remplacer les audits du serveur
Catégorie : Avertissement

Description
Les audits de serveur ne sont pas pris en charge dans Azure SQL Database.

Recommandation
Envisagez les fonctionnalités d’audit d’Azure SQL Database pour remplacer les audits du serveur. Azure SQL prend en charge l’audit, et les fonctionnalités sont plus riches que celles de SQL Server. Azure SQL Database peut auditer divers événements et actions de base de données, dont l’accès aux données, les modifications de schéma (DDL), les modifications de données (DML), les comptes, les rôles et les autorisations (DCL, exceptions de sécurité). L’audit Azure SQL Database augmente la capacité de votre organisation à acquérir une compréhension approfondie des événements et modifications qui se produisent au sein de la base de données, dont les mises à jour et les requêtes sur les données. Vous pouvez également migrer vers Azure SQL Managed Instance ou SQL Server sur des machines virtuelles Azure.

Informations supplémentaires : Audit pour Azure SQL Database

Informations d’identification du serveur

Titre : Les informations d’identification incluses dans l’étendue du serveur ne sont pas prises en charge dans Azure SQL Database
Catégorie : Avertissement

Description
Les informations d’identification correspondent à un enregistrement qui contient les informations d’authentification requises pour la connexion à une ressource en dehors de SQL Server. Azure SQL Database prend en charge les informations d’identification de base de données, mais pas celles créées dans l’étendue de SQL Server.

Recommandation
Azure SQL Database prend en charge les informations d’identification incluses dans l’étendue de la base de données. Convertissez les informations d’identification incluses dans l’étendue du serveur en informations d’identification incluses dans l’étendue de la base de données. Vous pouvez également migrer vers Azure SQL Managed Instance ou SQL Server sur des machines virtuelles Azure.

Informations supplémentaires : Création d’informations d’identification incluses dans l’étendue de la base de données

Service Broker

Titre : La fonctionnalité Service Broker n’est pas prise en charge dans Azure SQL Database
Catégorie: Problème

Description
SQL Server Service Broker assure la prise en charge native des applications de messagerie et de mise en file d’attente dans le Moteur de base de données SQL Server. La fonctionnalité Service Broker n’est pas prise en charge dans Azure SQL Database.

Recommandation
La fonctionnalité Service Broker n’est pas prise en charge dans Azure SQL Database. Envisagez de migrer vers Azure SQL Managed Instance qui prend en charge Service Broker au sein de la même instance. Vous pouvez également migrer vers SQL Server sur une machine virtuelle Azure.

Déclencheurs inclus dans l’étendue du serveur

Titre : Le déclencheur inclus dans l’étendue du serveur n’est pas pris en charge dans Azure SQL Database
Catégorie : Avertissement

Description
Un déclencheur est un type spécial de procédure stockée qui s’exécute en réponse à certaines actions sur une table, telles que l’insertion, la suppression ou la mise à jour de données. Les déclencheurs inclus dans l’étendue du serveur ne sont pas pris en charge dans Azure SQL Database. Azure SQL Database ne prend pas en charge les options suivantes pour les déclencheurs : FOR LOGON, ENCRYPTION, WITH APPEND, NOT FOR REPLICATION, EXTERNAL NAME (pas de prise en charge de méthode externe), ALL SERVER Option (déclencheur DDL), Déclencheur sur un événement LOGON (déclencheur Logon), Azure SQL Database ne prend pas en charge les déclencheurs CLR.

Recommandation
Utilisez plutôt des déclencheurs de niveau base de données. Vous pouvez également migrer vers Azure SQL Managed Instance ou SQL Server sur des machines virtuelles Azure.

Informations supplémentaires : Résolution des différences de Transact-SQL durant la migration vers SQL Database

Travaux SQL Agent

Titre : Les travaux SQL Server Agent ne sont pas disponibles dans Azure SQL Database
Catégorie : Avertissement

Description
SQL Server Agent est un service Microsoft Windows qui exécute des tâches d’administration planifiées, qui sont appelées travaux dans SQL Server. Les travaux SQL Server Agent ne sont pas disponibles dans Azure SQL Database.

Recommandation
Utilisez des tâches élastiques, qui remplacent les travaux SQL Server Agent dans Azure SQL Database. Les tâches élastiques pour Azure SQL Database vous permettent d’exécuter de manière fiable des scripts T-SQL qui s’étendent sur plusieurs bases de données, tout en effectuant automatiquement de nouvelles tentatives et en apportant des garanties d’accomplissement final. Vous pouvez également envisager de migrer vers Azure SQL Managed Instance ou SQL Server sur des machines virtuelles Azure. Pour plus d’informations, consultez Prise en main des tâches élastiques.

Taille de base de données SQL

Titre : Azure SQL Database ne prend pas en charge les tailles de base de données supérieures à 100 To.
Catégorie: Problème

Description
La taille de la base de données est supérieure à la taille maximale prise en charge de 100 To.

Recommandation
Évaluez si les données peuvent être archivées compressées ou partitionnées dans plusieurs bases de données. Vous pouvez également migrer vers SQL Server sur une machine virtuelle Azure.

Informations supplémentaires : Limites des ressources vCore

SQL Mail

Titre : SQL Mail n’est plus disponible.
Catégorie : Avertissement

Description
SQL Mail n’est plus disponible et a été supprimé dans Azure SQL Database.

Recommandation
Envisagez de migrer vers Azure SQL Managed Instance ou SQL Server sur des machines virtuelles Azure, et d’utiliser Database Mail.

Informations supplémentaires : Fonctionnalité du moteur de base de données abandonnée dans SQL Server

SystemProcedures110

Titre : Instructions détectées qui référencent des procédures stockées système supprimées qui ne sont pas disponibles dans Azure SQL Database.
Catégorie : Avertissement

Description
Les procédures stockées étendues et les système non pris en charge suivants ne peuvent pas être utilisés dans Azure SQL Database :sp_dboption, sp_addserver, sp_dropalias, sp_activedirectory_obj, sp_activedirectory_scp et sp_activedirectory_start.

Recommandation
Supprimez les références aux procédures système non prises en charge qui ont été supprimées dans Azure SQL Database.

Informations supplémentaires : Fonctionnalité du moteur de base de données abandonnée dans SQL Server

Indicateurs de trace

Titre : Azure SQL Database ne prend pas en charge les indicateurs de trace
Catégorie : Avertissement

Description
Les indicateurs de trace permettent de définir temporairement des caractéristiques de serveur spécifiques ou de désactiver un comportement particulier. Les indicateurs de trace servent le plus souvent à diagnostiquer des problèmes de performances et à déboguer des procédures stockées ou des systèmes informatiques complexes. Azure SQL Database ne prend pas en charge les indicateurs de trace.

Recommandation
Consultez la section sur les Objets affectés dans Azure Migrate pour afficher tous les indicateurs de trace qui ne sont pas pris en charge dans Azure SQL Database et évaluer s’ils peuvent être supprimés. Vous pouvez également migrer vers Azure SQL Managed Instance qui prend en charge un nombre limité d’indicateurs de trace globaux, ou vers SQL Server sur une machine virtuelle Azure.

Informations supplémentaires : Résolution des différences de Transact-SQL durant la migration vers SQL Database

Authentification Windows

Titre : Les utilisateurs de base de données mappés avec l’authentification Windows (sécurité intégrée) ne sont pas pris en charge dans Azure SQL Database.
Catégorie : Avertissement

Description
Azure SQL Database prend en charge deux types d’authentification :

  • L’authentification SQL utilise un nom d’utilisateur et un mot de passe.
  • L’authentification Microsoft Entra utilise des identités gérées par Microsoft Entra ID (anciennement Azure Active Directory), et est prise en charge pour les domaines managés et intégrés.

Les utilisateurs de base de données mappés avec l’authentification Windows (sécurité intégrée) ne sont pas pris en charge dans Azure SQL Database.

Recommandation
Fédérer le répertoire local Active Directory avec Microsoft Entra ID. L’identité Windows peut ensuite être remplacée par les identités Microsoft Entra équivalentes. Vous pouvez également migrer vers SQL Server sur une machine virtuelle Azure.

Informations supplémentaires : Fonctionnalités de sécurité de SQL Database

XP_cmdshell

Titre : xp_cmdshell n’est pas pris en charge dans Azure SQL Database.
Catégorie: Problème

Description
xp_cmdshell, qui génère une interface de commande Windows et transmet une chaîne pour exécution, n’est pas pris en charge dans Azure SQL Database.

Recommandation
Consultez la section sur les Objets affectés dans Azure Migrate pour voir tous les objets qui utilisent xp_cmdshell, et évaluer si la référence à xp_cmdshell ou l’objet affecté peuvent être supprimés. Envisagez aussi d’explorer Azure Automation qui fournit un service d’automatisation et de configuration basé sur le cloud. Vous pouvez également migrer vers SQL Server sur une machine virtuelle Azure.