Problèmes connus avec Azure Synapse Analytics
Cette page répertorie les problèmes connus dans Azure Synapse Analytics, ainsi que leur date de résolution ou leur solution de contournement possible. Avant d’envoyer une demande de support Azure, passez en revue cette liste pour voir si le problème que vous rencontrez est déjà connu et en cours de résolution.
Pour en savoir plus sur Azure Synapse Analytics, consultez Vue d’ensemble d’Azure Synapse Analytics et Quelles sont les nouveautés d’Azure Synapse Analytics ?.
Problèmes connus actifs
Résumé des problèmes connus du pool SQL actif dédié Azure Synapse Analytics
Les clients ne peuvent pas surveiller leur utilisation du pool SQL dédié à l’aide de métriques
Une mise à niveau interne de notre logique d’émission de télémétrie, qui était censée améliorer les performances et la fiabilité de nos données de télémétrie, a occasionné un problème inattendu ayant affecté la capacité de certains clients à surveiller les métriques de leur pool SQL dédié, de tempdb
, et des E/S de données Data Warehouse.
Solution de contournement : après avoir identifié le problème, notre équipe a pris des mesures pour identifier la cause racine et mettre à jour la configuration dans notre système. Les clients peuvent résoudre le problème en interrompant et en reprenant leur instance, ce qui a pour effet de restaurer l’état normal de l’instance et le flux de données de télémétrie.
Échec de la requête lors de l’ingestion d’un fichier Parquet dans une table avec AUTO_CREATE_TABLE='ON'
Les clients qui tentent d’ingérer un fichier Parquet dans une table de hachage distribuée avec AUTO_CREATE_TABLE='ON'
peuvent recevoir l’erreur suivante :
COPY statement using Parquet and auto create table enabled currently cannot load into hash-distributed tables
Désolé... Nous ne prenons pas en charge l’ingestion dans une table distribuée par hachage créée automatiquement avec AUTO_CREATE_TABLE. Les clients ayant précédemment chargé des fichiers selon ce scénario non pris en charge doivent utiliser CTAS pour placer leurs données dans une nouvelle table et l’utiliser à la place de l’ancienne table.
Échec des requêtes avec une erreur d’exfiltration de données
Les espaces de travail Synapse créés à partir d'un pool SQL dédié existant signalent un échec de requête lié à la protection contre l'exfiltration des données avec un message d'erreur générique, tandis que la protection contre l'exfiltration des données est désactivée dans Synapse Analytics :
Data exfiltration to '{****}' is blocked. Add destination to allowed list for data exfiltration and try again.
Solution de contournement : si vous avez rencontré une erreur similaire, faites appel à l’équipe Support Microsoft pour obtenir de l’aide.
Échec d’UPDATE STATISTICS
Certains pools SQL dédiés peuvent rencontrer une exception lors de l’exécution d’une instruction UPDATE STATISTICS
. La commande génère le message « Le flux de statistiques spécifié est endommagé » et ne parvient pas à mettre à jour vos statistiques.
Lorsqu’une nouvelle contrainte est ajoutée à une table, une statistique associée est créée dans les distributions. Si un index cluster est également créé sur la table, il doit inclure les mêmes colonnes (dans le même ordre) que la contrainte ; sinon, les commandes UPDATE STATISTICS
sur ces colonnes peuvent échouer.
Solution de contournement : déterminez si la table contient une contrainte et un index cluster. Si c’est le cas, supprimez la contrainte et l’index cluster. Recréez ensuite l’index cluster, puis la contrainte (sans oublier de vérifier qu’ils incluent les mêmes colonnes dans le même ordre). Si la table ne comporte pas de contrainte ni d’index cluster, ou si l’étape ci-dessus génère la même erreur, contactez l’équipe du support technique de Microsoft pour obtenir de l’aide.
Les mises à jour de balise semblent échouer
Lorsque vous apportez une modification aux balises d’un pool SQL dédié via le portail Azure ou d’autres méthodes, un message d’erreur peut s’afficher même si la modification a été effectuée avec succès.
Solution de contournement : vous pouvez vérifier que la modification apportée aux balises a réussi et ignorer/supprimer le message d’erreur si nécessaire.
Résumé des problèmes connus de l’espace de travail actif Azure Synapse
Voici les problèmes connus liés à l’espace de travail Synapse.
Le service lié stockage Blob avec l’identité managée affectée par l’utilisateur (UAMI) n’est pas répertorié
Le service lié peut ne pas être visible sous Data Hub ->Linked ->Stockage Blob Azure après avoir configuré le service lié stockage blob pour utiliser l’authentification « Identité managée affectée par l’utilisateur » dans Azure Synapse Analytics.
Solution de contournement : l’équipe d’ingénierie est actuellement consciente de ce comportement et travaille sur un correctif. Vous pouvez également utiliser la méthode d’authentification « Identité managée affectée par le système » au lieu de « Identité managée affectée par l’utilisateur ».
Échec de la suppression de l’espace de travail Synapse et Impossible de supprimer le réseau virtuel
La suppression d’un espace de travail Synapse échoue avec le message d’erreur :
Failed to delete Synapse workspace '[Workspace Name]'. Unable to delete virtual network. The correlationId is ********-****-****-****-************;
Solution de contournement : le problème peut être atténué en réessayant l’opération de suppression. L’équipe d’ingénierie est consciente de ce comportement et travaille sur un correctif.
Les opérations PUT de l’API REST ou les modèles ARM/Bicep pour mettre à jour les paramètres réseau échouent
Lorsque vous utilisez un modèle ARM, un modèle Bicep ou une opération PUT de l’API REST directe afin de modifier les paramètres d’accès réseau public et/ou les règles de pare-feu pour un espace de travail Synapse, l’opération peut échouer.
Solution de contournement : le problème peut être atténué à l’aide d’une opération PATCH de l’API REST ou de l’interface utilisateur du Portail Azure afin d’inverser et de réessayer les modifications de configuration souhaitées. L’équipe d’ingénierie est consciente de ce comportement et travaille sur un correctif.
Problème connu incorporant des crochets [] à la valeur des étiquettes
Dans le contexte de la mise à jour des valeurs des étiquettes dans un espace de travail Azure Synapse, l’inclusion de crochets ([]
) entraîne un échec de l’opération de mise à jour.
Solution de contournement : la présente solution de contournement consiste à s’abstenir d’utiliser les crochets ([]
) dans les valeurs des étiquettes de l’espace de travail Azure Synapse.
Échecs de déploiement dans l’espace de travail Synapse à l’aide de Synapse-workspace-deployment v1.8.0 dans GitHub Actions avec des modèles ARM
L’échec se produit pendant le déploiement en production et est lié à un déclencheur qui contient un nom d’hôte avec une double barre oblique inverse.
Le message d’erreur affiché est Action failed - Error: Orchestrate failed - SyntaxError: Unexpected token in JSON at position 2057
.
Solution de contournement : les actions suivantes peuvent être effectuées en guise d’atténuation rapide :
- Supprimer les caractères d’échappement : supprimer manuellement les caractères d’échappement (
\
) du fichier de paramètres avant le déploiement. Cela signifie que la modification du fichier permet d’éliminer ces caractères susceptibles d’entraîner des problèmes pendant l’analyse ou la phase de traitement du déploiement. - Remplacer les caractères d’échappement par des barres obliques : Remplacer les caractères d’échappement (
\
) par des barres obliques (/
). Cela peut être particulièrement utile dans les chemins d’accès aux fichiers, où de nombreux systèmes acceptent des barres obliques en tant que séparateurs de chemin valides. Ce remplacement peut aider à contourner le problème avec les caractères d’échappement, ce qui permet au processus de déploiement de réussir.
Après avoir appliqué l’une ou l’autre de ces solutions de contournement et réussi le déploiement, mettez à jour manuellement les configurations nécessaires dans l’espace de travail pour vous assurer que tout est configuré correctement. Cela peut impliquer la modification de fichiers de configuration, l’ajustement des paramètres ou l’exécution d’autres tâches pertinentes pour l’environnement ou l’application spécifique en cours de déploiement.
Aucune opération d’API « GET » dédiée au paramètre « Microsoft.Synapse/workspaces/trustedServiceBypassEnabled »
Résumé du problème : dans azure Synapse Analytique, il n’existe aucune opération d’API « GET » dédiée pour récupérer l’état du paramètre « trustedServiceBypassEnabled » au niveau de l’étendue de ressource « Microsoft.Synapse/workspaces/trustedServiceBypassEnabled ». Bien que les utilisateurs puissent définir cette configuration, ils ne peuvent pas récupérer directement son état via cette étendue de ressource spécifique.
Impact : Cette limitation affecte les définitions Azure Policy, car elles ne peuvent pas appliquer un état spécifique pour le paramètre « trustedServiceBypassEnabled ». Les clients ne peuvent pas utiliser Azure Policy pour refuser ou gérer cette configuration.
Solution de contournement : Aucune solution de contournement n’est disponible dans Azure Policy pour appliquer l’état de configuration souhaité pour cette propriété. Toutefois, les utilisateurs peuvent utiliser l’opération d’espace de travail « GET » pour auditer l’état de configuration à des fins de création de rapports.
Cette opération d’espace de travail « GET » est mappée à l’alias Azure Policy « Microsoft.Synapse/workspaces/trustedServiceBypassEnabled ».
L’alias Azure Policy peut être utilisé pour gérer cette propriété avec un effet Refuser Azure Policy si l’opération est une requête PUT sur la ressource Microsoft.Synapse/workspace, mais elle fonctionne uniquement à des fins d’audit si la requête PUT est envoyée directement à la ressource enfant Microsoft.Synapse/workspaces/trustedServiceByPassConfiguration. La ressource parente a une propriété [properties.trustedServiceBypassEnabled] qui mappe la configuration à partir de la ressource enfant et c’est pourquoi elle peut toujours être auditée via l’alias Azure Policy de la ressource parente.
Étant donné que la ressource enfant Microsoft.Synapse/workspaces/trustedServiceByPassConfiguration n’a aucune opération GET disponible, Azure Policy ne peut pas gérer ces requêtes et Azure Policy ne peut pas générer d’alias Azure Policy pour celui-ci.
Ressource parente :Microsoft.synapse/workspaces
Ressource enfant : Microsoft.Synapse/workspaces/trustedServiceByPassConfiguration
Le portail Azure envoie la requête PUT directement à l’API PUT pour la ressource enfant et, par conséquent, le portail Azure, ainsi que toutes les autres demandes d’API effectuées en dehors des API parentes Microsoft.Synapse/workspaces, ne peuvent pas être gérées par Azure Policy par le biais d’un effet De refus ou d’autres actions d’Azure Policy.
Résumé des problèmes connus du pool SQL actif serverless Azure Synapse Analytics
Échecs de requête d’un pool SQL serverless vers le magasin analytique Azure Cosmos DB
Les requêtes d’un pool SQL Serverless vers le magasin analytique Azure Cosmos DB peuvent échouer avec l’un des messages d’erreur suivants :
Resolving CosmosDB path has failed with error 'This request is not authorized to perform this operation'
Resolving CosmosDB path has failed with error 'Key not found'
Les conditions suivantes doivent avoir la valeur true pour confirmer ce problème :
- La connexion au magasin analytique Azure Cosmos DB utilise un point de terminaison privé.
- La nouvelle tentative de la requête réussit.
Solution de contournement : l’équipe d’ingénierie est consciente de ce comportement et les actions suivantes peuvent être effectuées en guise d’atténuation rapide :
- Réessayez la requête ayant échoué. Il actualise automatiquement le jeton expiré.
- Désactivez le point de terminaison privé. Avant d’appliquer cette modification, vérifiez auprès de votre équipe de sécurité qu’elle répond aux stratégies de sécurité de votre entreprise.
La vue de magasin analytique Azure Cosmos DB propage des attributs incorrects dans la colonne
Lors de l’utilisation de vues dans un pool Azure Synapse serverless sur le magasin analytique Cosmos DB, en cas de modification des fichiers dans le magasin analytique Cosmos DB, la modification n’est pas propagée correctement dans les instructions SELECT que le client utilise sur la vue. De ce fait, les attributs sont incorrectement mappés sur une autre colonne dans les résultats.
Solution de contournement : l’équipe d’ingénierie est consciente de ce comportement et les actions suivantes peuvent être effectuées en guise d’atténuation rapide :
- Recréez la vue en renommant les colonnes.
- Évitez si possible d’utiliser les vues.
Échec de la modification des informations d’identification dans l’étendue de la base de données si des informations d’identification ont été utilisées
Il peut arriver que vous ne puissiez pas exécuter la requête ALTER DATABASE SCOPED CREDENTIAL
. La cause racine de ce problème est que les informations d’identification ont été mises en cache après leur première utilisation, ce qui les rend inaccessibles pour modification. L’erreur retournée est la suivante :
Failed to modify the identity field of the credential '{credential_name}' because the credential is used by an active database file.
Solution de contournement : l’équipe d’ingénierie est actuellement consciente de ce comportement et travaille sur un correctif. En guise de solution de contournement, vous pouvez DROP et CREATE les informations d’identification, ce qui signifierait également recréer des tables externes à l’aide des informations d’identification. Vous pouvez également faire appel à l’équipe du Support Microsoft pour obtenir de l’aide.
Échecs des requêtes dans des pools SQL serverless
L’expiration du jeton peut entraîner des erreurs pendant l’exécution de la requête, malgré les autorisations nécessaires pour l’utilisateur sur le stockage. Ces messages d’erreur peuvent également se produire en raison d’erreurs utilisateur courantes, par exemple lorsque les rôles de contrôle d’accès en fonction du rôle (RBAC) ne sont pas attribués au compte de stockage.
Exemple de message d’erreur :
WaitIOCompletion call failed. HRESULT = 0x80070005'. File/External table name: {path}
Unable to resolve path '%' Error number 13807, Level 16, State 1, Message "Content of directory on path '%' cannot be listed.
Error 16561: External table '<table_name>' is not accessible because content of directory cannot be listed.
Error 13822: File {path} cannot be opened because it does not exist or it is used by another process.
Error 16536: Cannot bulk load because the file "%ls" could not be opened.
Solution de contournement :
La résolution est différente selon l’authentification, Microsoft Entra (anciennement Azure Active Directory) ou identité de service managé (MSI) :
Pour l’expiration du jeton Microsoft Entra :
Pour les requêtes durables, basculez vers le principal de service, l’identité managée ou la signature d’accès partagé au lieu d’utiliser l’identité utilisateur. Pour plus d’informations, consultez Contrôler l’accès au compte de stockage pour le pool SQL serverless dans Azure Synapse Analytics.
Redémarrez le client (SSMS/ADS) permet d’acquérir un nouveau jeton pour établir la connexion.
Pour l’expiration du jeton MSI :
- Désactivez puis activez le pool pour effacer le cache de jetons. Faites appel à l’équipe du Support Microsoft pour obtenir de l’aide.
Problèmes d’accès au stockage dus à un en-tête d’autorisation trop long
Exemples de messages d’erreur dans les pools SQL serverless :
File {path} cannot be opened because it does not exist or it is used by another process.
Content of directory on path {path} cannot be listed.
WaitIOCompletion call failed. HRESULT = {code}'. File/External table name: {path}
Ces erreurs d’accès au stockage génériques s’affichent lors de l’exécution d’une requête. Le problème peut se produire pour un utilisateur d’un espace de travail, alors que tout fonctionne correctement dans d’autres espaces de travail. Ce comportement est attendu en raison de la taille du jeton.
Vérifiez la longueur du jeton Microsoft Entra en exécutant la commande suivante dans PowerShell. La valeur du paramètre -ResourceUrl
sera différente pour les clouds non publics. Si la longueur du jeton est proche de 11 000 ou plus, consultez la section Atténuation.
(Get-AzAccessToken -ResourceUrl https://database.windows.net).Token.Length
Solution de contournement :
Les solutions de contournement conseillées sont les suivantes :
- Basculez vers l’autorisation de stockage d’identité managée, comme décrit dans le contrôle d’accès au stockage.
- Diminuez le nombre de groupes de sécurité (avec 90 groupes de sécurité ou moins, la longueur du jeton sera compatible).
- Augmentez le nombre de groupes de sécurité au-delà de 200 (car cela change la façon dont le jeton est construit ; il contiendra un URI d’API MS Graph au lieu d’une liste complète de groupes). Vous pouvez pour cela ajouter des groupes factices/artificiels en suivant les instructions relatives aux groupes managés, après quoi vous ajouteriez des utilisateurs aux nouveaux groupes.
Interrogation d’une vue affiche des résultats inattendus
Lorsque vous interrogez la vue pour laquelle le schéma sous-jacent a changé après la création de la vue, vous pouvez rencontrer des résultats inattendus. Cela signifie que la vue fait référence à des colonnes ou des objets qui ont été modifiés ou qui n’existent plus. Pour surmonter cela, vous devez ajuster manuellement la définition de la vue pour l’aligner sur les modifications sous-jacentes de schéma.
Solution de contournement : ajustez manuellement la définition de la vue.
Problèmes connus récemment fermés
Composant Synapse | Problème | Statut | Date de la résolution |
---|---|---|---|
Pool SQL serverless Azure Synapse | Les requêtes utilisant l’authentification Microsoft Entra échouent après une heure | Résolu | Août 2023 |
Pool SQL serverless Azure Synapse | Échec des requêtes lors de la lecture des données de Cosmos DB à l’aide d'OPENROWSET | Résolu | Mars 2023 |
Pool Apache Spark d’Azure Synapse | Échec de l’écriture dans le pool dédié SQL à partir de Synapse Spark avec le connecteur de pool SQL dédié Azure Synapse pour Apache Spark lors de l’utilisation de notebooks dans des pipelines | Résolu | Juin 2023 |
Pool Apache Spark d’Azure Synapse | Certaines tâches spark échouent trop tôt avec le code d'erreur 503 en raison de la limitation du compte de stockage. | Résolu | Novembre 2023 |
Pool Apache Spark d’Azure Synapse | Échec de requête avec une clause LIKE utilisant le connecteur de pool SQL dédié Synapse dans le runtime Spark 3.4 | Résolu | Octobre 2024 |
Résumé des problèmes connus du pool SQL serverless Azure Synapse Analytics récemment fermé
Les requêtes utilisant l’authentification Microsoft Entra échouent après une heure
Les connexions SQL utilisant l'authentification Microsoft Entra qui restent actives pendant plus d'une heure commencent à échouer. Cela comprend l’interrogation du stockage à l’aide de l’authentification directe Microsoft Entra et des instructions qui interagissent avec Microsoft Entra ID (par exemple, CREATE EXTERNAL PROVIDER). Cela affecte tous les outils qui maintiennent les connexions actives, comme dans l’éditeur de requête de SSMS et ADS. Les outils qui ouvrent une nouvelle connexion pour exécuter une requête ne sont pas affectés, par exemple Synapse Studio.
État : Résolu
Échecs des requêtes lors de la lecture des données Azure Cosmos DB à l’aide d’OPENROWSET
Les requêtes d’un pool SQL serverless vers le magasin analytique Cosmos DB à l’aide d’OPENROWSET échouent avec le message d’erreur suivant :
Resolving CosmosDB path has failed with error 'bad allocation'.
État : Résolu
Résumé des problèmes connus du pool Apache Spark Azure Synapse Analytics récemment fermé
Échec de l’écriture dans le pool dédié SQL à partir de Synapse Spark avec le connecteur de pool SQL dédié Azure Synapse pour Apache Spark lors de l’utilisation de notebooks dans des pipelines
Pendant l’utilisation du connecteur de pool SQL dédié Azure Synapse pour Apache Spark pour écrire dans un pool dédié Azure Synapse avec des notebooks dans des pipelines, un message d’erreur s’affiche :
com.microsoft.spark.sqlanalytics.SQLAnalyticsConnectorException: COPY statement input file schema discovery failed: Cannot bulk load. The file does not exist or you don't have file access rights.
État : Résolu
Certaines tâches spark échouent trop tôt avec le code d'erreur 503 en raison de la limitation du compte de stockage
Entre le 3 octobre 2023 et le 16 novembre 2023, quelques pools Apache Spark d'Azure Synapse Analytics ont pu rencontrer des échecs de travail/de tâche spark en raison du dépassement du seuil de limite d'API de stockage.
État : Résolu
Échec de requête avec une clause LIKE utilisant le connecteur de pool SQL dédié Synapse dans le runtime Spark 3.4
Apache Spark 3.4 open source introduit un problème causé par le fait que Synapse SQL ne prend pas en charge le mot clé d’échappement des caractères spéciaux. Lorsque des clients utilisent le connecteur de pool SQL dédié Azure Synapse pour Apache Spark, celui-ci peut générer une requête SQL non valide pour Synapse SQL. Le notebook ou le traitement par lots Synapse Spark génère alors une erreur similaire à la suivante :
com.microsoft.spark.sqlanalytics.SQLAnalyticsConnectorException: com.microsoft.sqlserver.jdbc.SQLServerException: Parse error at line: 1, column: XXX: Incorrect syntax near ''%test%''
État : Résolu