链接服务器 - 拒绝访问远程服务器

时间:2015-07-21 08:50:30

标签: sql sql-server tsql ssms

我已经梳理了网络,寻找从针对远程数据库运行的Sql Server Agent Job返回的错误的答案,但却无法使其工作。错误是:

    Msg 15274, Sev 16, State 1, Line 1 : 
    Access to the remote server is denied because the current security context is not trusted. [SQLSTATE 42000]

我已将服务器设置链接如下:

    EXEC sp_addlinkedserver @server=N'serverName' 
       , @srvproduct=N''
       , @provider=N'SQLNCLI'
       , @datasrc=N'serverName';

同样跑了:

    EXEC sp_addlinkedsrvlogin  @rmtsrvname = N'serverName'
       , @useself = false
       , @locallogin = NULL
       , @rmtuser = 'sa'
       , @rmtpassword = 'userpassword'

当我执行EXEC [ServerName].[DbName].[SchemaName].[StoredProcName]时,我获得了成功返回的值,但在Sql Agent Job中查询失败。我该怎么办才能让Agent Job工作?

1 个答案:

答案 0 :(得分:1)

请参阅this

简而言之,似乎发生了这种情况:

  

运行不属于系统的SQL Server代理作业时   管理员帐户,SQL Server代理运行SETUSER以模拟   这份工作的主人。

     

如果作业使用链接服务器,则作业可能会因远程访问而失败   执行SETUSER后不允许使用。

因此,您要么将作业的所有权更改为sysadmin acc,要么将链接服务器映射更改为例如使用假冒。我没有看到任何其他选择。