我正在尝试从远程服务器(调用过程UPDATE_PROC)的视图创建表,如下所示:
SELECT *
INTO table
FROM [remote_server\database].DATABASE.dbo.view
它完美无缺。 问题是,当我尝试创建一个新作业时,调用以前工作的存储过程UPDATE_PROC
exec UPDATE_PROC
它不起作用并报告:
Executed as user: NT AUTHORITY\SYSTEM. The OLE DB provider "SQLNCLI10" for linked server "remote_server\database" does not contain the table ""DATABASE"."dbo"."view"". The table either does not exist or the current user does not have permissions on that table. [SQLSTATE 42000] (Error 7314). The step failed
所以看起来是一样的,但事实并非如此。我做错了什么?
更新:
远程服务器是SQL Server 2005,作业在SQL Server 2008上
我以 sa 用户身份登录。程序始终有效,作业调用存储过程永远不会
Job不是以sa用户身份运行的,但我不知道应该在哪个用户和哪里定义执行作业....
答案 0 :(得分:3)
在我看来,这是一个安全问题。正在运行作业的用户无权访问远程服务器上的表。