无法创建链接到雪花的服务器

问题描述 投票:0回答:1

我遵循了所有可以找到的说明:

  1. 将最新的Snowflake 64位ODBC驱动程序安装到我的SQL Server VM中
  2. 为此创建的系统dsn(填写了用户,服务器,数据库,架构,仓库,角色和跟踪字段)
  3. 在SQL Server中,对于MSDASQL链接服务器提供程序,启用了以下参数:嵌套查询,仅零级,允许进程中,支持“赞”运算符
  4. 按照以下说明创建链接服务器
    • Provider = Microsoft OLE DB Provider for ODBC驱动程序
    • 数据源:我创建的系统DSN的名称
    • 安全性:
    • 将本地登录名“ NT AUTHORITY \ SYSTEM”映射为远程用户名和密码(当我通过网络浏览器连接到Snowflake时,它们起作用)
    • 单击“使用登录名的当前安全上下文进行设置”单击确定时,出现以下错误

“错误消息”

sql-server linked-server snowflake-datawarehouse
1个回答
0
投票
在链接服务器的安全性标签中:1.对于链接服务器,您已将“ NT AUTHORITY \ SYSTEM”(这是sql服务帐户?)映射到远程用户名和密码。

    对于其他任何登录,您都已选择
  1. 使用登录的当前安全上下文进行设置
您使用Windows登录名或SQL Server登录名连接到SQL Server。假设您使用domainxyz / rick或用户名:sqlrick和密码:rick1212。当您尝试使用链接服务器时,两种可能的登录名(domainxyz / rick或sqlrick)都不会映射到远程[snowflake]用户名和密码。因此,sql服务器会通过当前的安全上下文,该上下文是您的domainxyz / rick令牌或sqlrick用户名和密码。两者都无法在外部服务器上运行(它们甚至可以工作吗?)。

来自https://docs.microsoft.com/en-us/sql/relational-databases/linked-servers/create-linked-servers-sql-server-database-engine

使用登录名的当前安全上下文进行设置

对于列表中未定义的登录,指定使用登录的当前安全上下文进行连接。如果使用Windows身份验证连接到本地服务器,则Windows凭据将用于连接到远程服务器。如果使用SQL Server身份验证连接到本地服务器,则将使用登录名和密码连接到远程服务器。在这种情况下,远程服务器上必须存在具有相同名称和密码的登录名。您可以将登录名映射到远程雪花用户名和密码,或选择

对于上面列表中未定义的登录名,连接将:使用

this

安全上下文进行创建,并在框中填写雪花的用户名和密码。
© www.soinside.com 2019 - 2024. All rights reserved.