0

我正在尝试从远程服务器的视图中创建表(调用过程 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用户身份登录。过程一直在工作,工作调用存储过程从不

作业不是以 sa 用户身份运行的,但我不知道应该定义哪个用户和在哪里执行作业属性....

4

1 回答 1

3

在我看来,这是一个安全问题。运行作业的用户无权访问远程服务器上的表。

于 2012-06-13T13:34:57.707 回答