我无法使用SQL Server Management Studio连接SQL无服务器内置池?

发布于 2025-01-21 09:12:20 字数 298 浏览 0 评论 0原文

我在Azure Data Lake Gen 2中有CSV文件。我在SQL无用池中为此CSV文件创建了一个外部表,并且能够在Azure Synapse笔记本中读取该表。但是,当我尝试使用SQL Server Management Studio读取外部表格时,遇到以下错误。

msg 16562,16级,状态1,第2行 外部表“ dbo.factjobs”由于位置不存在或由另一个过程使用。

有人建议这里有什么问题吗? CSV文件位于Data Lake Gen 2中。我的桌子名称是FactJobs

I have my CSV file in the Azure data lake gen 2. I created an external table for this CSV file in SQL Serverless Pool and I am able to read the table in the Azure Synapse notebook. However, getting the below error when I tried to read the external table with SQL server management studio.

Msg 16562, Level 16, State 1, Line 2
External table 'dbo.FactJobs' is not accessible because location does not exist or it is used by another process.

Can anyone advise what is the issue here? CSV file is located in the data lake gen 2. My table name is FactJobs

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

咆哮 2025-01-28 09:12:20

您的问题可能有两种解决方案:

  1. 您可以在SSM中重新连接,而不是使用SQL Auth使用身份验证类型“ Azure Active Directory -Universal -with MFA”。然后,它应该像在突触笔记本中一样工作。

  2. 您可以继续使用SQL auth并执行以下执行以创建服务器划分的凭据当您使用SQL auth使用SQL auth对Synapse进行身份验证时,将用于对Data Lake进行身份验证。在这种情况下,它说使用Synapse工作区托管服务身份。我假设MSI确实具有存储BLOB数据贡献者权限,您的存储帐户容器中的权限。我假设您正在使用dfs.core.windows.net端点,而不是外部数据源或外部表中的位置中的blob.core.windows.net。

CREATE CREDENTIAL [https://YOURSTORAGENAMEHERE.dfs.core.windows.net]
WITH IDENTITY = 'Managed Identity';

There are probably two solutions to your issue:

  1. You could reconnect in SSMS and instead of using SQL auth use authentication type “Azure Active Directory - Universal with MFA”. Then it should work like it did in a synapse notebook.

  2. You could continue using SQL auth and execute the following to create a server-scoped credential that will be used to authenticate to the data lake when you authenticate with Synapse using SQL auth. In this case it says to use the Synapse workspace Managed Service Identity. I assume the MSI does have Storage Blob Data Contributor rights on your storage account container. I assume you are using the dfs.core.windows.net endpoint not the blob.core.windows.net in your external data source or location in the external table.

CREATE CREDENTIAL [https://YOURSTORAGENAMEHERE.dfs.core.windows.net]
WITH IDENTITY = 'Managed Identity';
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文