Azure Synapse Analytics中无法执行TOP 100行查询的配置求助
配置步骤指导
1. 获取Azure Cosmos DB的访问凭据
- 登录Azure门户,找到你的Cosmos DB账户(名称为
olamiss) - 进入密钥或共享访问签名页面:
- 若使用主密钥:直接复制主密钥或辅助密钥
- 若使用SAS令牌:生成一个包含读取权限的SAS令牌(权限需覆盖查询需求)
2. 创建SQL Server凭据
执行以下SQL语句,将占位符替换为你的实际密钥/SAS令牌:
CREATE CREDENTIAL [olamiss] WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = '你的Cosmos DB主密钥或SAS令牌'
注意:如果使用SAS令牌,需去掉开头的
?符号(若存在)
3. 验证凭据创建状态
执行查询确认凭据已成功创建:
SELECT * FROM sys.credentials WHERE name = 'olamiss'
4. 执行目标查询
确认凭据存在后,运行你的查询代码:
SELECT TOP 100 * FROM OPENROWSET( PROVIDER = 'CosmosDB', CONNECTION = 'Account=olamiss;Database=UserPortfolio', OBJECT = 'StoreUserPortfolio', SERVER_CREDENTIAL = 'olamiss' ) AS [StoreUserPortfolio]
常见问题排查
- 密钥/SAS令牌错误:检查是否完整复制,无多余空格或特殊符号
- 权限不足:确认密钥/SAS具备读取权限
- 账户名称不匹配:核对
CONNECTION参数中的Account值与Cosmos DB账户名完全一致
内容的提问来源于stack exchange,提问作者ola
相关产品推荐
相关产品推荐

