首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >天青启示分析

天青启示分析
EN

Stack Overflow用户
提问于 2022-04-18 14:13:39
回答 1查看 358关注 0票数 0

我需要使用SQL身份验证连接到Synapse Analytics Serverless无SQL池数据库。我创建了一个无服务器的SQL数据库,并创建了一个SQL用户,并提供了db_owner访问。

然后在下面创建一个外部表

代码语言:javascript
复制
IF NOT EXISTS (SELECT * FROM sys.external_file_formats 
   WHERE name = 'SynapseDeltaFormat') 
   CREATE EXTERNAL FILE FORMAT [SynapseDeltaFormat] 
   WITH ( FORMAT_TYPE = PARQUET)
GO

IF NOT EXISTS (SELECT * FROM sys.external_data_sources WHERE name = 
'test_dfs_core_windows_net') 
CREATE EXTERNAL DATA SOURCE [test_dfs_core_windows_net] 
WITH (
    LOCATION = 'abfss://test.dfs.core.windows.net' 
)
GO

CREATE EXTERNAL TABLE table_staging (
<columns here>
)
WITH (
LOCATION = 'bronze/table_staging/',
DATA_SOURCE = [test_dfs_core_windows_net],
FILE_FORMAT = [SynapseDeltaFormat]
)
GO


SELECT TOP 100 * FROM dbo.table_staging
GO

当试图使用SQL外部表“dbo.table_staging”访问表的数据时出错,因为位置不存在或其他进程使用它。

使用AD用户可以访问表数据。使用SQL用户创建DataSource。

似乎Server用户没有访问数据湖/数据存储的权限。如何授予这个权限?

EN

回答 1

Stack Overflow用户

发布于 2022-05-05 20:16:04

刚刚开始的三角洲湖泊:)

默认情况下,无服务器sql使用用户上下文进行身份验证。当您在synapse data中查询时,您正在使用AD用户上下文,这就是您可以连接到外部存储的原因。

但是,对于无法访问查询的SQL用户和AD用户,您需要在设置查询时使用凭据。

您可以在这里找到详细说明:https://learn.microsoft.com/en-us/azure/synapse-analytics/sql/develop-storage-files-storage-access-control?tabs=user-identity

您需要有访问存储的方法??服务主体、SAS、托管标识。

我只是使用服务主体"App注册“设置凭据。

代码语言:javascript
复制
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<secret>';
go

CREATE DATABASE SCOPED CREDENTIAL [credentialname] WITH
IDENTITY = '<Client-ID>@https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token' 
, SECRET = '<token>'
GO


CREATE EXTERNAL DATA SOURCE mydatasource  WITH (
    LOCATION = 'https://<storageaccount>.dfs.core.windows.net/onedatahubtest',
    CREDENTIAL = credentialname
);

CREATE VIEW MYVIEW AS
SELECT   *  
FROM OPENROWSET(
    BULK 'Example/table',
    DATA_SOURCE='mydatasource',
    FORMAT = 'delta') as rows;

现在,我的sql用户可以访问该视图。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71912940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档