web-dev-qa-db-ja.com

別のSQLアカウントとして実行されるSQLジョブステップ

別のSQLログインアカウントとして実行されるSQLジョブステップを設定する方法に興味があります。既存の資格情報を必要とする新しいプロキシアカウントを設定する必要があるようです。資格情報を作成するときの唯一の選択肢は、Windowsログイン資格情報を使用することです。

私が実行しようとしているジョブは以下のとおりです。他にもステートメントがありますが、SQLログインとして実行するようにジョブステップを設定すると失敗します。

insert into [dbo].[TableA]
SELECT 
       ss.[Ref_ID]
      ,mm.[studentID]
      ,mm.[studentPersonID]
      ,mm.[studentFirstname]
  FROM [dbo].[TableB] mm
  left outer join [dbo].[TableC] ss on ss.parentPersonID=mm.parentPersonID and mm.studentPersonID = ss.studentPersonID
  where ss.Ref_ID is not null;

これがSQLジョブステップを介して実行されると、失敗します。

Executed as user: an_admin_account. Access to the remote server is denied because the current security context is not trusted. [SQLSTATE 42000] (Error 15274).  The step failed.

これらのテーブルがすべてローカルデータベースに存在する場合に、なぜリモートサーバーにアクセスしようとしているのかは不明です。

11
Geoff Dawdy

T-SQLジョブステップを構成している場合は、[詳細設定]ページに移動して、[ユーザーとして実行]を選択したログインに構成します。 enter image description here

PowerShellなどの他のジョブステップタイプを使用している場合は、プロキシアカウントを構成する必要があります。

15
user507

使用する EXECUTE AS開始時、または特定のコンテキストで実行されるストアドプロシージャを作成します。

1
Rob Farley