Sources de données prises en charge dans Azure Analysis Services

Les sources de données et connecteurs figurant dans Obtenir des données ou l’Assistant Importation de table de Visual Studio avec les projets Analysis Services s’affichent à la fois pour Azure Analysis Services et SQL Server Analysis Services. Cependant, toutes les sources de données et tous les connecteurs affichés ne sont pas pris en charge dans Azure Analysis Services. Les types de sources de données auxquelles vous pouvez vous connecter dépendent de nombreux facteurs, comme le niveau de compatibilité du modèle, les connecteurs de données disponibles, le type d’authentification et la prise en charge de la passerelle de données locale. Les tableaux suivants décrivent les sources de données prises en charge pour Azure Analysis Services.

Sources de données Azure

Source de données En mémoire DirectQuery Notes
Azure SQL Database Oui Oui 2, 3
Azure Synapse Analytics (SQL DW) Oui Oui 2
Stockage Blob Azure Oui Non 1
Stockage Table Azure Oui Non 1
Azure Cosmos DB Oui Non 1
Azure Data Lake Store Gen1 Oui Non 1
Azure Data Lake Store Gen2 Oui Non 1, 5
Azure HDInsight HDFS Oui Non 1
Azure HDInsight Spark Oui Non 1, 4

Remarques :

1 - Modèles tabulaires 1400 ou supérieurs uniquement.
2 – Quand elle est spécifiée en tant que source de données fournisseur dans des modèles tabulaires 1200 et supérieurs, les modèles en mémoire et DirectQuery nécessitent MSOLEDBSQL de Microsoft OLE DB Driver pour SQL Server (recommandé) ou le Fournisseur de données .NET Framework pour SQL Server.
3 – Azure SQL Managed Instance est pris en charge. Comme l'instance gérée SQL s'exécute dans Azure VNet avec une adresse IP privée, le point de terminaison public doit être activé sur l'instance. Si cette option n’est pas activée, une passerelle de données locale est nécessaire.
4 – Azure Databricks avec connecteur Spark n’est actuellement pas pris en charge.
5 – Le connecteur ADLS Gen2 n’est pas pris en charge actuellement. Cependant, le connecteur Stockage Blob Azure peut être utilisé avec une source de données ADLS Gen2.

Autres sources de données

La connexion aux sources de données locales à partir d’un serveur Azure Analysis Services nécessite une passerelle locale. Lorsque vous utilisez une passerelle, des fournisseurs 64 bits sont requis.

Source de données En mémoire DirectQuery Notes
Base de données Access Oui Non
Active Directory Oui Non 6
Analysis Services Oui Non
Système de la plateforme d'analyse Oui Non
Fichier CSV Oui Non
Dynamics 365 Oui Non 6, 12
Classeur Excel Oui Non
Exchange Oui Non 6
Dossier Oui Non 6
IBM Informix Oui Non
Document JSON Oui Non 6
Lignes issues d’un fichier binaire Oui Non 6
Base de données MySQL Oui Non 13
Flux OData Oui Non 6
Requête ODBC Oui Non
OLE DB Oui Non
Oracle Oui Oui 9
Base de données PostgreSQL Oui Non 6
Objets Salesforce Oui Non 6
Rapports Salesforce Oui Non 6
SAP HANA Oui Non
SAP Business Warehouse Oui Non 6
Liste SharePoint Oui Non 6, 11
SQL Server Oui Oui 7, 8
SQL Server Data Warehouse Oui Oui 7, 8
Base de données Sybase Oui Non
Teradata Oui Oui 10
Fichier TXT Oui Non
Table XML Oui Non 6

Remarques :
6 – Modèles tabulaires 1400 ou supérieurs uniquement.
7 – Quand elle est spécifiée en tant que source de données fournisseur dans des modèles tabulaires 1200 et supérieurs, spécifiez MSOLEDBSQL de Microsoft OLE DB Driver pour SQL Server (recommandé), SQL Server Native Client 11.0 ou le Fournisseur de données .NET Framework pour SQL Server.
8 – Si vous spécifiez MSOLEDBSQL comme fournisseur de données, il peut être nécessaire de télécharger et installer Microsoft OLE DB Driver pour SQL Server sur le même ordinateur que la passerelle de données locale.
9 – Pour les modèles tabulaires 1200 ou pour une source de données fournisseur de modèles tabulaires 1400 et supérieurs, spécifiez Oracle Data Provider for .NET. S’il est spécifié comme source de données structurées, assurez-vous d’activer le fournisseur managé Oracle.
10 – Pour les modèles tabulaires 1200 ou pour une source de données fournisseur de modèles tabulaires 1400 et supérieurs, spécifiez Teradata Data Provider for .NET.
11 – Les fichiers contenus dans SharePoint en local ne sont pas pris en charge.
12 – Azure Analysis Services ne prend pas en charge les connexions directes au point de terminaison TDS Dynamics 365 Dataverse. Lorsque vous vous connectez à cette source de données à partir d’Azure Analysis Services, vous devez utiliser une passerelle de données locale et actualiser les jetons manuellement.
13 – Azure Analysis Services ne prend pas en charge les connexions directes aux bases de données MySQL. Lorsque vous vous connectez à cette source de données à partir d’Azure Analysis Services, vous devez utiliser une passerelle de données locale et actualiser les jetons manuellement.

Présentation des fournisseurs

Quand vous créez des projets de modèle tabulaire 1400 et supérieurs dans Visual Studio, par défaut, vous ne spécifiez pas de fournisseur de données au moment d’établir une connexion à une source de données à l’aide de « Obtenir des données ». Les modèles tabulaires 1400 et supérieurs utilisent des connecteurs Power Query pour gérer les connexions, les requêtes de données et les mashups entre la source de données et Analysis Services. Ils sont parfois appelés connexions de source de données structurée dans le sens où les paramètres des propriétés de connexion sont définis automatiquement. Toutefois, vous pouvez activer des sources de données héritées pour un projet de modèle dans Visual Studio. Dans ce cas, vous pouvez utiliser l’Assistant Importation de table pour vous connecter à certaines sources de données traditionnellement prises en charge dans les modèles tabulaires 1200 et inférieurs en tant que sources de données héritées ou fournisseur. Quand il est spécifié en tant que source de données fournisseur, vous pouvez spécifier un fournisseur de données particulier et d’autres propriétés de connexion avancées. Par exemple, vous pouvez vous connecter à une instance SQL Server Data Warehouse ou même à une base de données Azure SQL Database en guise de source de données héritée. Vous pouvez alors sélectionner fournisseur de données MSOLEDBSQL OLE DB Driver pour SQL Server. Dans ce cas, la sélection d’un fournisseur de données OLE DB peut offrir de meilleures performances que le connecteur Power Query.

Quand l’Assistant Importation de table de Visual Studio est utilisé, un fournisseur de données est nécessaire pour se connecter à une source de données. Un fournisseur de données par défaut est alors sélectionné automatiquement. Vous pouvez changer de fournisseur de données si nécessaire. Le type de fournisseur choisi peut dépendre des performances, du fait que le modèle utilise le stockage en mémoire ou DirectQuery et de la plateforme Analysis Services sur laquelle vous déployez votre modèle.

Spécifier des sources de données fournisseur dans les projets de modèle tabulaire 1400 et supérieur

Pour activer des sources de données fournisseur, dans Visual Studio, cliquez sur Outils>Options>Analysis Services Tabular>Importation des données, sélectionnez Activer les sources de données héritées.

Screenshot of Enable legacy data sources.

Une fois les sources de données héritées activées, dans Explorateur de modèles tabulaires, cliquez avec le bouton droit sur Sources de données>Importer depuis une source de données (hérité).

Screenshot of Legacy data sources in Tabular Model Explorer.

À l’instar des projets de modèle tabulaire 1200, utilisez l’Assistant Importation de table pour vous connecter à une source de données. Dans la page de connexion, cliquez sur Avancé. Spécifiez le fournisseur de données et les autres paramètres de connexion dans Définir les propriétés avancées.

Screenshot of Legacy data sources Advanced properties.

Emprunt d'identité

Dans certains cas, il peut être nécessaire de spécifier un autre compte d’emprunt d’identité. Le compte d’emprunt d’identité peut être spécifié dans Visual Studio ou SQL Server Management Studio (SSMS).

Pour les sources de données locales :

  • Si vous utilisez l’authentification SQL, l’emprunt d’identité doit être le compte de service.
  • Si vous utilisez l’authentification Windows, définissez l’utilisateur/le mot de passe Windows. Pour SQL Server, l’authentification Windows avec un compte d’emprunt d’identité spécifique est pris en charge pour les modèles de données en mémoire uniquement.

Pour les sources de données cloud :

  • Si vous utilisez l’authentification SQL, l’emprunt d’identité doit être le compte de service.

Informations d’identification OAuth

Pour les modèles tabulaires au niveau de compatibilité 1400 ou plus utilisant le mode en mémoire, Azure SQL Database, Azure Synapse, Dynamics 365 et SharePoint List prennent en charge les informations d’identification OAuth. Pour générer des jetons valides, définissez les informations d'identification à l'aide de Power Query. Azure Analysis Services gère l’actualisation des jetons pour les sources de données OAuth afin d’éviter un dépassement des délais d’expiration pour les opérations d’actualisation de longue durée.

Remarque

L’actualisation des jetons managés n’est pas prise en charge pour les sources de données accessibles via une passerelle. Par exemple, une ou plusieurs sources de données de requête mashup sont accessibles via une passerelle, et/ou la propriété ASPaaS\AlwaysUseGateway a la valeur true.

Le mode de requête directe n’est pas compatible avec les informations d’identification OAuth.

Activer le fournisseur managé Oracle

Dans certains cas, les requêtes DAX vers une source de données Oracle peuvent retourner des résultats inattendus. Cela peut être dû au fournisseur utilisé pour la connexion de la source de données.

Comme décrit dans la section Compréhension des fournisseurs, les modèles tabulaires se connectent aux sources de données en tant que source de données structurées ou source de données fournisseur. Pour les modèles disposant d’une source de données Oracle spécifiée comme source de données fournisseur, assurez-vous que le fournisseur spécifié est le fournisseur de données Oracle pour .NET (Oracle.DataAccess.Client).

Si la source de données Oracle est spécifiée comme source de données structurées, activez la propriété de serveur MDataEngine\UseManagedOracleProvider. Définir cette propriété assure la connexion de votre modèle à la source de données Oracle à l’aide du fournisseur de données Oracle recommandé comme fournisseur managé .NET.

Pour activer le fournisseur managé Oracle :

  1. Dans SQL Server Management Studio, connectez-vous à votre serveur.

  2. Créez une requête XMLA avec le script suivant. Remplacez ServerName par le nom complet du serveur, puis exécutez la requête.

    <Alter AllowCreate="true" ObjectExpansion="ObjectProperties" xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
        <Object />
        <ObjectDefinition>
            <Server xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" 
    xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200" 
    xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300" xmlns:ddl400="http://schemas.microsoft.com/analysisservices/2012/engine/400" 
    xmlns:ddl400_400="http://schemas.microsoft.com/analysisservices/2012/engine/400/400" xmlns:ddl500="http://schemas.microsoft.com/analysisservices/2013/engine/500" xmlns:ddl500_500="http://schemas.microsoft.com/analysisservices/2013/engine/500/500">
                <ID>ServerName</ID>
                <Name>ServerName</Name>
                <ServerProperties>
                    <ServerProperty>
                        <Name>MDataEngine\UseManagedOracleProvider</Name>
                        <Value>1</Value>
                    </ServerProperty>
                </ServerProperties>
            </Server>
        </ObjectDefinition>
    </Alter>
    
  3. Redémarrez le serveur.

Étapes suivantes