簡體   English   中英

從 SQL On-Demand 端點運行查詢時出現 SSMS 錯誤

[英]Error in SSMS when running query from SQL On-Demand endpoint

我試圖從存儲在 Azure Blob 容器中的 CSV 文件中提取數據,當我嘗試查詢該文件時,出現錯誤

File 'https://<storageaccount>.blob.core.windows.net/<container>/Sales/2020-10-01/Iris.csv' cannot be opened because it does not exist or it is used by another process.

該文件確實存在,據我所知,它沒有被其他任何東西使用。

我正在使用 SSMS 以及來自 Azure Synapse 的 SQL On-Demand 端點。

我在 SSMS 中所做的是在連接到端點后運行以下命令:

  1. CREATE DATABASE [Demo2];
  2. CREATE EXTERNAL DATA SOURCE AzureBlob WITH ( LOCATION 'wasbs://<container>@<storageaccount>.blob.core.windows.net/' )
  3.  SELECT * FROM OPENROWSET ( BULK 'Sales/2020-10-01/Iris.csv', DATA_SOURCE = 'AzureBlob', FORMAT = '*' ) AS tv1;

我不確定我的問題在哪里或下一步要去哪里。 我在創建外部數據源時搞砸了什么嗎? 我是否需要在那里使用 SAS 令牌,如果需要,它的語法是什么?

@Ubiquitinoob44,你需要創建一個數據庫憑證: https ://docs.microsoft.com/en-us/azure/synapse-analytics/sql/develop-storage-files-storage-access-control?tabs=shared-access -簽名

我想出了問題所在。 我還沒有嘗試過阿曼多的建議。

首先,我必須轉到容器並編輯 IAM 策略,以便為我的 Active Directory 登錄提供 Blob 數據貢獻者角色。 授予訪問權限的用戶將是您登錄門戶的電子郵件地址。

https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad-rbac-portal?toc=/azure/synapse-analytics/toc.json&bc=/azure/synapse-analytics/面包屑/toc.json

之后,我不得不重新連接到 SSMS 中的按需端點。 確保通過 Azure AD - MFA 選項登錄。 最初我使用的是 On-Demand 端點用戶名和密碼,它沒有被授予訪問容器的 Blob Data Contributor 角色的權限。

https://docs.microsoft.com/en-us/azure/synapse-analytics/sql/resources-self-help-sql-on-demand

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM