繁体   English   中英

Polybase外部数据源使用ODBC,登录失败报错

[英]Polybase external data source using ODBC, login failed error

使用SQL Server 2019企业版(CU14)

我正在尝试使用 Polybase 从一个简单的 CSV 文本文件中读取数据。

执行create external data source时出现错误“消息 46721,级别 20,State 1 登录失败。登录来自不受信任的域,不能与集成身份验证一起使用。”

我正在使用的声明是:

create external data source datasourcename
with (
  location = 'odbc:\\localhost',
  connection_options='Driver=Microsoft Access Text Driver (*.txt, *.csv); Dbq=d:\data\; ApplicationIntent=ReadOnly;',
  pushdown=off,
  credential = <credential name> -- < On DEV server it works both with/without this
);  

这实际上适用于我的开发服务器,但是在生产服务器上它抛出了这个错误,我找不到解决方案。 不太确定要登录的是什么

在开发服务器(也是 SQL 服务器 2019/CU14)上,我什至可以不使用凭据选项,它仍然有效。

两台服务器都为 SQL 服务器服务和 Polybase 服务使用相同的域帐户,我将凭证定义为:

 create database scoped credential <credential name> with identity = 'Sql Server service domain account', secret = 'domain account password';

我不认为它是相关的,但生产服务器是一个可用性组辅助副本,我正在尝试一个简单的概念验证来测试读取 CSV 文件并将数据插入 TempDB。

在我的开发服务器和生产服务器上,我尝试读取的文件位于本地驱动器上的文件夹中。 该驱动器和文件夹对 SQL 服务器服务帐户具有完全控制权限。

两台服务器都安装了相同的 odbc 驱动程序,版本 16.00.4999.1000

我尝试将“trusted_connection=Yes and No”添加到 connection_options。

连接 SSMS 我尝试使用自己的域帐户和 SQL Server sa帐户。

我安装了“Kerberos 配置管理器”并连接到生产服务器以检查 SPN,它报告“状态良好”。

我尝试在服务器上添加“DisableLoopbackCheck”注册表项。

到目前为止,没有任何效果,我不知道还能尝试什么。

外部数据源定义错误:使用正斜杠,不要使用本地主机,odbc 字符串缺少花括号,应用程序意图不是 odbc 的属性,您不需要凭据。 有关示例,请参见此链接: https://36chambers.wordpress.com/2022/02/21/polybase-versus-flat-files/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM