You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地SQL Server创建TDS协议Dataverse链接服务器认证失败求助

本地SQL Server连接Dataverse(TDS协议)链接服务器的身份验证方案

尝试从本地SQL Server创建链接服务器到Dataverse(采用TDS协议),此前已通过MFA/非MFA的Azure AD账号成功直接SQL访问Dataverse,但创建链接服务器时,选用“SQL Server”服务器类型的多种安全配置均失败,寻求原生解决方案。

一、正确配置链接服务器基础参数

  • 不要选择常规>服务器类型>SQL Server,需切换为其他数据源:
    1. 在链接服务器向导中,选择“其他数据源”
    2. 指定提供程序为MSOLEDBSQL(推荐,支持Azure AD现代认证)或SQLNCLI11
    3. 产品名称填写Dataverse
    4. 数据源填写你的Dataverse SQL端点地址(格式:orgxxxxxx.crm.dynamics.com,5558,可从Dataverse环境的“高级设置>SQL Server连接”中获取)

二、身份验证配置(分场景)

场景1:使用非MFA的Azure AD账号

  • 进入链接服务器的安全选项卡
  • 选择“对于未在上述列表中定义的登录名,连接将>使用此安全上下文进行连接”
  • 输入账号(格式:yourname@yourdomain.onmicrosoft.com)和对应密码
  • 确保该账号已被赋予Dataverse的SQL访问权限(如系统管理员角色、数据库查询者角色)

场景2:使用MFA账号(需通过Azure AD应用身份验证)

由于SQL Server链接服务器不支持交互式MFA,需改用Azure AD应用身份:

  1. 在Azure AD中注册应用程序,记录应用程序ID和客户端密钥
  2. 给该应用程序分配Dataverse的“数据库管理员”或“数据库查询者”权限
  3. 回到链接服务器安全配置,选择“使用此安全上下文进行连接”,用户名填应用程序ID,密码填客户端密钥

三、必要的环境配置检查

  • 打开SQL Server配置管理器,找到对应的OLE DB Provider(如MSOLEDBSQL),启用允许进程内选项
  • 执行以下SQL语句启用分布式查询支持:
    sp_configure 'show advanced options', 1;
    RECONFIGURE;
    sp_configure 'Ad Hoc Distributed Queries', 1;
    RECONFIGURE;
    
  • 确保本地SQL Server服务器的防火墙允许访问Dataverse端点的5558端口

常见错误排查

  • 若仍出现认证失败,检查账号是否为纯Azure AD身份(本地AD同步账号需确保已完全同步到云)
  • 确认Dataverse环境已启用SQL访问功能(在Power Platform admin中心的环境设置中开启)

内容的提问来源于stack exchange,提问作者oct

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 09:40:20