Azure Analysis Services 中支持的数据源

在 Visual Studio 中使用 Analysis Services 项目时,“获取数据”或“表导入向导”中显示的数据源和连接器适用于 Azure Analysis Services 和 SQL Server Analysis Services。 但是,Azure Analysis Services 中不支持显示的所有数据源和连接器。 可以连接的数据源类型取决于许多因素,例如模型兼容性级别、可用的数据连接器、身份验证类型和本地数据网关支持。 下表描述了 Azure Analysis Services 支持的数据源。

Azure 数据源

数据源 内存中 DirectQuery(直接查询) 注释
Azure SQL 数据库 是的 是的 23
Azure Synapse Analytics (SQL DW) 是的 是的 2
Azure Blob 存储 是的 1
Azure 表格存储 是的 1
Azure Cosmos DB(Azure 宇宙数据库) 是的 1
Azure Data Lake Store Gen1 是的 1
Azure Data Lake Store Gen2 是的 15
Azure HDInsight HDFS 是的 1
Azure HDInsight Spark 是的 14

注释

1 - Tabular 1400及更高型号专用。
2 - 在表格 1200 及更高版本的模型中指定为 provider 数据源时,内存中模型和 DirectQuery 模型都需要 Microsoft OLE DB Driver for SQL Server MSOLEDBSQL(推荐)或适用于 SQL Server 的 .NET Framework 数据提供程序。
3 - 支持 Azure SQL 托管实例。 由于 SQL 托管实例在具有专用 IP 地址的 Azure VNet 中运行,因此必须在实例上启用公共终结点。 如果未启用,则需要 本地数据网关
4 - 目前不支持使用 Spark 连接器的 Azure Databricks。
5 - 目前不支持 ADLS Gen2 连接器,但 Azure Blob 存储连接器可用于 ADLS Gen2 数据源。

其他数据源

从 Azure Analysis Services 服务器连接到本地数据源需要 本地网关。 使用网关时,必须使用 64 位提供程序。

数据源 内存中 DirectQuery(直接查询) 注释
Access 数据库 是的
Active Directory 是的 6
分析服务 是的
分析平台系统 是的
CSV 文件 是的
Dynamics 365 是的 612
Excel 工作簿 是的
交流 是的 6
文件夹 是的 6
IBM Informix 是的
JSON 文档 是的 6
从二进制中提取的行 是的 6
MySQL 数据库 是的 13
OData 数据源 是的 6
ODBC 查询 是的
OLE DB 是的
甲骨文 是的 是的 9
PostgreSQL 数据库 是的 6
Salesforce 对象 是的 6
Salesforce 报表 是的 6
SAP HANA 是的
SAP Business Warehouse 是的 6
SharePoint 列表 是的 611
SQL Server 是的 是的 78
SQL Server 数据仓库 是的 是的 78
Sybase 数据库 是的
Teradata 是的 是的 10
TXT 文件 是的
XML 表 是的 6

注释

6 - 仅限 Tabular 1400 及以上型号。 7 - 在表格 1200 及更高模型中指定为 提供程序 数据源时,请指定 Microsoft OLE DB Driver for SQL Server MSOLEDBSQL(推荐)、SQL Server Native Client 11.0 或适用于 SQL Server 的 .NET Framework 数据提供程序。
8 - 如果将 MSOLEDBSQL 指定为数据提供程序,则可能需要在与本地数据网关相同的计算机上下载并安装 Microsoft OLE DB Driver for SQL Server
9 - 对于表格 1200 模型,或作为表格 1400+ 模型中的 提供程序 数据源,请为 .NET 指定 Oracle 数据提供程序。 如果指定为结构化数据源,请确保 启用 Oracle 托管提供程序10 - 对于表格 1200 模型,或作为表格 1400+ 模型中的 提供程序 数据源,请为 .NET 指定 Teradata 数据提供程序。
11 - 不支持本地 SharePoint 中的文件。
12 - Azure Analysis Services 不支持直接连接到 Dynamics 365 Dataverse TDS 端点。 从 Azure Analysis Services 连接到此数据源时,必须使用本地数据网关并手动刷新令牌。
13 - Azure Analysis Services 不支持直接连接到 MySQL 数据库。 从 Azure Analysis Services 连接到此数据源时,必须使用本地数据网关并手动刷新令牌。

了解供应商

在 Visual Studio 中创建表格 1400 及更高版本的模型项目时,默认情况下,在使用 Get Data 连接到数据源时,不会指定数据提供程序。 表格 1400 及更高版本的模型使用 Power Query 连接器来管理数据源与 Analysis Services 之间的连接、数据查询和合并。 这些有时被称为 结构化 数据源连接,因为连接属性设置会自动为您配置。 但是,可以在 Visual Studio 中为模型项目启用旧数据源。 启用该功能后,您可以使用表导入向导连接到传统上支持的某些数据源,这些数据源在表格模型 1200及以下版本中通常被作为旧版提供程序数据源使用。 指定为提供程序数据源时,可以指定特定的数据提供者和其他高级连接属性。 例如,可以连接到 SQL Server 数据仓库实例,甚至可以将 Azure SQL 数据库作为旧数据源。 然后,可以选择 OLE DB Driver for SQL Server MSOLEDBSQL 数据提供程序。 在这种情况下,选择 OLE DB 数据访问接口可能会提高 Power Query 连接器的性能。

在 Visual Studio 中使用表导入向导时,与任何数据源的连接都需要数据提供程序。 已为你选择默认数据提供程序。 如果需要,可以更改数据提供程序。 您选择的提供程序类型可能取决于性能、模型是否使用内存中存储或 DirectQuery,以及将模型部署在哪个 Analysis Services 平台上。

在表格 1400 及更高版本的模型项目中指定供应商数据来源

若要启用提供程序数据源,请在 Visual Studio 中,单击 “工具>选项>Analysis Services 表格>数据导入”,选择“ 启用旧数据源”。

启用旧数据源的屏幕截图。

启用旧数据源后,在表格模型资源管理器中,右键单击数据源>从数据源(旧版)导入。

表格模型资源管理器中旧数据源的屏幕截图。

与表格 1200 模型项目一样,使用 表导入向导 连接到数据源。 在“连接”页上,单击“ 高级”。 在 “设置高级属性”中指定数据提供程序和其他连接设置。

传统数据源高级属性的屏幕截图。

模仿

在某些情况下,可能需要指定不同的模拟帐户。 可以在 Visual Studio 或 SQL Server Management Studio(SSMS)中指定模拟帐户。

对于本地数据源:

  • 如果使用 SQL 身份验证,模拟应为“服务帐户”。
  • 如果使用 Windows 身份验证,请设置 Windows 用户/密码。 对于 SQL Server,仅内存数据模型支持使用特定模拟账户进行 Windows 身份验证。

对于云数据源:

  • 如果使用 SQL 身份验证,模拟应设置为服务帐户。

OAuth 凭据

对于使用 内存中 模式的 1400 和更高兼容级别的表格模型,Azure SQL 数据库、Azure Synapse、Dynamics 365 和 SharePoint 列表支持 OAuth 凭据。 若要生成有效的令牌,请使用 Power Query 设置凭据。 Azure Analysis Services 管理 OAuth 数据源的令牌刷新,以防止长时间运行的刷新操作出现超时。

注释

通过网关访问的数据源不支持托管令牌刷新。 例如,通过网关访问一个或多个混搭查询数据源,/或 ASPaaS\AlwaysUseGateway 属性设置为 true

OAuth 凭据不支持直接查询模式。

启用 Oracle 托管提供程序

在某些情况下,对 Oracle 数据源的 DAX 查询可能会返回意外的结果。 这可能是由于所用的提供程序负责数据源连接。

“了解提供程序 ”部分所述,表格模型以 结构化 数据源或 提供程序 数据源的形式连接到数据源。 对于指定为提供程序数据源的 Oracle 数据源的模型,请确保指定的提供程序是用于 .NET 的 Oracle 数据提供程序(Oracle.DataAccess.Client)。

如果将 Oracle 数据源指定为结构化数据源,请启用 MDataEngine\UseManagedOracleProvider 服务器属性。 设置此属性可确保模型使用推荐的用于 .NET 托管提供程序的 Oracle 数据提供程序连接到 Oracle 数据源。

启用 Oracle 管理提供程序:

  1. 在 SQL Server Management Studio 中,连接到服务器。

  2. 使用以下脚本创建 XMLA 查询。 将 ServerName 替换为完整的服务器名称,然后执行查询。

    <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. 重启服务器。

后续步骤