在 Azure SQL Server 上安装和配置 Polybase - 找不到存储过程“sp_configure”

Posted

技术标签:

【中文标题】在 Azure SQL Server 上安装和配置 Polybase - 找不到存储过程“sp_configure”【英文标题】:Install and configure Polybase on Azure SQL Server - Could not find stored procedure 'sp_configure' 【发布时间】:2019-04-23 08:52:13 【问题描述】:

我正在尝试使用

中的数据设置 PolyBase(外部)表 Azure SQL Server 数据库托管在 Azure SQL Server 上(通过门户设置) Azure Blob 存储(CSV 数据)

SQL Server 版本:

Microsoft SQL Azure (RTM) - 12.0.2000.8   Nov  2 2018 21:17:06

动机是运行一些连接两个数据源的查询。

Azure SQL Server 是否附带 PolyBase 设置?我不知道如何从这些 docs 中提到的 azure 控制台启用“外部数据的 polybase 查询服务”

当我尝试通过 SQL Server Management Studio 运行这些配置步骤以启用 polybase 和设置连接时:

exec sp_configure @configname = 'polybase enabled', @configvalue = 1;

我收到一个错误

找不到存储过程“sp_configure”

同时运行此查询

 SELECT SERVERPROPERTY ('IsPolyBaseInstalled') AS IsPolyBaseInstalled;  

返回 - 0

但是,我能够运行这些查询并创建外部数据源

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password';  

CREATE DATABASE SCOPED CREDENTIAL AzureStorage
WITH IDENTITY = 'user', Secret = 'SecretKey';

CREATE EXTERNAL DATA SOURCE AzureStorage with (  
  TYPE = BLOB_STORAGE,
  LOCATION ='wasbs://blob@container.blob.core.windows.net',  
  CREDENTIAL = AzureStorage  
); 

当我尝试创建一个新的外部文件时

CREATE EXTERNAL FILE FORMAT taxifileformat  
WITH (  
    FORMAT_TYPE = DELIMITEDTEXT,   
    FORMAT_OPTIONS (FIELD_TERMINATOR =',')  
);  

我得到错误

“EXTERNAL”附近的语法不正确

我的问题是:

    Azure SQL Server 是否启用了 polybase?如果没有,我该如何启用它们?

    创建一个我打算用来创建外部表的外部格式可能会出现什么问题?

谢谢!

【问题讨论】:

不,不是 Azure SQL 数据库。我也尝试过,最终使用了 Azure SQL 数据仓库。 docs.microsoft.com/en-us/sql/relational-databases/polybase/…您可以在 SQL Server 2016 及更高版本(仅限 Windows)、分析平台系统(以前称为并行数据仓库)或 Azure SQL 数据仓库中使用 polybase。 【参考方案1】:

Azure SQL 数据库不支持 Polybase。这是用户希望将来在 Azure SQL 数据库上看到的投票最多的功能之一。如果您想为此功能投票,请投票here。

sp_configure 在 Azure SQL 数据库上也不可用。请改用ALTER DATABASE SCOPED CCONFIGURATION 来配置 Azure SQL 数据库。

如果您需要 Polybase,Azure SQL 数据仓库似乎是您更好的选择,正如您问题的 cmets 中所述。

【讨论】:

可以使用 BULK INSERT 或 OPENROWSET 从 Azure Blob 存储加载。 blogs.msdn.microsoft.com/sqlserverstorageengine/2017/02/23/… 是的,您可以通过 BULK INSERT 或 OPENROWSET 使用批量加载数据,但与 Azure DW 或 Synapse Analtics(已启用 PolyBase)中的相同功能产品相比,这两者在 Azure SQL 中的限制更大;例如,它们支持文件类型 DAT、BCP、CSV,但不支持 Parquet 文件(这是我目前的用例)。

以上是关于在 Azure SQL Server 上安装和配置 Polybase - 找不到存储过程“sp_configure”的主要内容,如果未能解决你的问题,请参考以下文章

Azure 网站上的 SQL Server CE

使用Azure Automation Hybrid管理本地SQL Server备份状态

我可以在 Azure Sql 数据库和 Sql Server 2012(本地服务器)之间创建复制吗?

本地 SQL Server 实例和 Azure SQL Server 中的 LoadData 脚本

Azure 支持SQL Server 2019备份和文件还原

Cloud Composer 无法连接到安装在 Azure VM 中的 SQL Server 数据库