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

ですから、同じように見えますが、そうではありません。私が間違っているのは何ですか?

アップデート:

リモートサーバーはSQLServer2005であり、ジョブはSQLServer2008上にあります

私はsaユーザーとしてログインしています。プロシージャは常に機能していますが、ストアドプロシージャを呼び出すジョブはありません

ジョブはsaユーザーとして実行されませんが、ジョブを適切に実行するためにどのユーザーと場所を定義する必要があるのか​​わかりません。

4

1 に答える 1

3

それはセキュリティの問題だと私には思えます。ジョブを実行しているユーザーには、リモートサーバー上のテーブルにアクセスするためのアクセス許可がありません。

于 2012-06-13T13:34:57.707 に答える