Azure Elastic Job 使用凭据而不是身份

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

我们有一个弹性作业代理,它已经运行了一段时间,但最近开始看到每项作业都持续失败。

我们过去使用过凭据,但似乎有人向代理添加了身份,现在每个作业都返回错误: 无法确定 SqlServerTarget 的成员(服务器名称“服务器名称”,服务器位置“服务器位置”):用户“令牌识别主体”登录失败。

我相信这意味着代理正在尝试使用 UMI(用户管理身份)而不是凭据来登录数据库

我已经删除了身份,但错误仍然存在。

请帮助我如何让代理再次使用凭据或关闭 UMI。

谢谢!

database azure jobs
1个回答
0
投票

无法确定 SqlServerTarget 的成员(服务器名称“服务器名称”,服务器位置“服务器位置”):用户“令牌识别主体”登录失败。

导致该错误的原因是您的作业代理无法通过服务器进行身份验证。

数据库范围的凭据以通过弹性作业代理进行身份验证;

  • 在计划执行作业的每个目标数据库中生成作业代理登录名或用户。 此登录名或用户应具有与用于作业的数据库范围凭据的身份相同的名称,以及与数据库范围凭据相同的密码。
  • 连接到逻辑服务器的
    master
    数据库,并创建 SQL 身份验证登录名,该登录名与作业用户的数据库范围凭据的标识相同,密码也与作业用户的数据库范围凭据相同。
CREATE LOGIN [job_user] WITH PASSWORD '<same_password_as_database-scoped_credential>'
GO
  • 连接到输出数据库并为名为 job_user 的用户运行以下示例脚本:
CREATE USER [job_user] FROM LOGIN [job_user]; 
  • 授予 CREATE TABLE 并将数据插入该输出表所需的权限。

参考:- https://learn.microsoft.com/en-us/azure/azure-sql/database/elastic-jobs-tutorial?view=azuresql#use-database-scoped-credentials

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