Azure MI SQL 代理无法使用链接服务器

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

背景

  • 我已在 Azure 托管实例上创建了链接服务器,并仅将其保护到特定登录。
  • 我有一个 SQL 代理作业想要使用链接服务器。

问题 如何授予 Azure MI SQL 代理执行帐户使用链接服务器的权限?

结果 在本地 SQL Server 中,我将使用 proc sp_addlinkedsrvlogin 添加分配给 SQL 代理的服务帐户作为链接服务器登录名。但是,我的 SQL 代理服务帐户似乎是 [User Manager\ContainerAdministrator] (REF 1)。如果我尝试使用上述过程添加该登录名,我会收到错误“User Manager\ContainerAdministrator”不是有效登录名或您没有权限。”。

当我的 SQL 代理作业尝试使用链接服务器时,我按预期收到此错误:以用户身份执行:User Manager\ContainerAdministrator。由于不存在登录映射,对远程服务器的访问被拒绝。

解决方法

  1. 删除链接服务器上的安全性并让每次登录都使用它。从安全角度来看,这是不可接受的。
  2. 将我的 SQL 代理作业从托管实例移至 SQL Server 的常规安装上,我可以在其中授予 SQL 代理执行帐户使用链接服务器的权限。重构作业以使用第二个链接服务器将结果写回托管实例。这是我认为我需要做的,但令人失望的是,我们对 Azure 托管实例的研究表明支持 SQL 代理和链接服务器,但显然不是同时支持。

参考 1:https://johnmccormack.it/2020/09/how-do-i-find-the-agent-service-account-for-azure-sql-database-management-instance/

linked-server sql-agent azure-sql-managed-instance
1个回答
0
投票

您是否考虑过将相关 SQL 代理作业步骤配置为以您已在链接服务器上配置了适当权限的 SQL 登录名运行?

© www.soinside.com 2019 - 2024. All rights reserved.