如何从SQL Server创建指向Dataverse的链接服务器?
关于SQL Server链接服务器连接Dataverse的可行性及配置指引
可行性说明
可以通过SQL Server的链接服务器功能实现与Dataverse的连接,该方案依赖ODBC驱动作为中间适配层,你需要先安装对应版本的Microsoft Dataverse ODBC驱动,再按流程完成链接服务器配置即可。
核心配置参数说明
- 驱动要求:必须使用
Microsoft ODBC Driver for Dataverse,需匹配你的SQL Server架构(32位/64位)安装对应版本 - 访问接口选择:创建链接服务器时,选择其他数据源分类下的
Microsoft OLE DB Provider for ODBC Drivers作为访问接口 - ODBC DSN前置配置参数:
- 实例地址:填写你的Dataverse实例根URL,格式为
https://[你的组织标识].crm.dynamics.com - 认证配置:优先选择OAuth 2.0认证,需填写对应Azure AD注册应用的客户端ID、客户端密钥、租户ID
- 高级参数:勾选使用多层架构、返回完整错误信息选项,避免后续查询出现无明确提示的报错
- 实例地址:填写你的Dataverse实例根URL,格式为
- 链接服务器常规属性:
- 链接服务器名称:自定义即可,建议使用无特殊字符、无空格的英文字符串
- 产品名称:可填写
Dataverse作为标识,无强制校验规则 - 数据源:填写你提前创建完成的ODBC系统DSN名称
- 安全属性配置:
- 选择使用此安全上下文建立连接选项,填写具备Dataverse访问权限的Azure AD认证凭据,也可直接复用ODBC DSN中预设的认证信息
- 服务器选项配置:
- 开启
RPC、RPC Out参数,支持跨源远程存储过程调用 - 开启
Data Access参数,允许SQL Server侧查询Dataverse数据 - 关闭
使用远程排序参数,降低跨源查询的性能损耗
- 开启
连接验证方式
配置完成后可执行如下测试语句验证连接有效性:
SELECT * FROM [你设置的链接服务器名称].[你的Dataverse组织名称].[dbo].[目标表名]
注意:首次查询可能存在10-30秒的初始化延迟,属于正常现象。如果提示表不存在,可执行
sp_tables_ex [你设置的链接服务器名称]查看Dataverse侧暴露的表清单,确认表名和架构层级是否正确。
内容的提问来源于stack exchange,提问作者Marty Stev
相关产品推荐
相关产品推荐

