Sql server Transact-SQL作业权限

Sql server Transact-SQL作业权限,sql-server,security,login,jobs,Sql Server,Security,Login,Jobs,我有两个SQL Server:A和B。在A上,我有一个存储的进程,它处理B中的一些数据,然后将结果转储到A上的表中。我需要安排一个作业来运行此进程 根据,在运行作业时使用的是作业所有者。(无法在TSQL步骤/作业的作业步骤上设置“运行方式”。) 人们设置这些机器/安全性的网络方式是使用第三台服务器C,并在该服务器上存储集中登录。所以我的登录名是:SERVERC\SEAN。此登录可以访问数据库服务器A和B。如果我在登录并连接到服务器A时执行,则程序运行正常 因此,我将作业所有者设置为SERVERC

我有两个SQL Server:A和B。在A上,我有一个存储的进程,它处理B中的一些数据,然后将结果转储到A上的表中。我需要安排一个作业来运行此进程

根据,在运行作业时使用的是作业所有者。(无法在TSQL步骤/作业的作业步骤上设置“运行方式”。)

人们设置这些机器/安全性的网络方式是使用第三台服务器C,并在该服务器上存储集中登录。所以我的登录名是:SERVERC\SEAN。此登录可以访问数据库服务器A和B。如果我在登录并连接到服务器A时执行,则程序运行正常

因此,我将作业所有者设置为SERVERC\SEAN,但当作业运行时,错误消息是: “以用户身份执行:NT AUTHORITY\NETWORK SERVICE。用户SERVERC\SERVERA$登录失败”

为什么它作为网络服务和一些奇怪的登录组合运行,而不是按照指示作为作业所有者运行?我怎样才能让它工作

谢谢

看看这个,它可以做你想做的事情

编辑以显示最有用的链接

你是如何执行这项工作的?我不知道你说的“如何”是什么意思?这是预定的工作。如果我让调度器运行它,或者如果我通过ManagementStudio执行它,它会失败。不,这没有帮助。当我单击省略号时,我只得到服务器a上的用户列表,而不是服务器C上的用户列表。如果我尝试键入SERVERC\SEAN,则它不会接受该用户。如果我尝试SERVERA\SEAN(我也有本地登录),那么作业将失败-因为SERVERA\SEAN没有对SERVERB数据库的访问权限(“由于当前安全上下文不受信任,对远程服务器的访问被拒绝”)。好的,那么您没有可以使用的网络服务登录?是“网络服务登录”?不我不这么认为。这与SERVERC\SEAN上的登录有什么不同?@SeanW问题是“SERVERC\SEAN”是该服务器的本地登录-这解释了为什么您不能使用该登录访问SERVERA。因此,如果你想通过模拟的方式访问多个服务器,你需要一个能够访问所有三个服务器的域登录。你的另一个选择是链接服务器,如果它们可以看到对方,这应该允许你做你想做的事情。这有意义吗?这真的没有意义,因为我不熟悉安全/网络(我只是一个开发人员!)。但据我所知,SERVERC被专门设置为一个集中式(域?)登录服务器。因此,我在SERVERC上的登录可以访问SERVERA和SERVERB。因此,如果我可以将作业设置为使用该用户,那么一切都应该很好。但我不能,如上所述。我不确定链接服务器需要什么,我会试着问他们——但我到底需要问什么?谢谢