パッケージの実行:
SQL Server データ ツール:
SQL Server Data Tools (SSDT)
のユーザー資格情報 SSDT 内で実行されるパッケージを実行するために使用されます。
Windows のスタート\すべてのプログラム\Microsoft SQL Server 2012 で、SQL Server Data Tools をクリックすると、資格情報で実行されます。別のユーザー アカウントで実行するには、Ctrl を押します。 + シフト Run as different user
を選択するには オプション。
統合カタログ サービス:
Integration Services Catalog \ SSISDB \ <Folder name> \ Projects \ <Project name> \ Packages \ <Package name>
の下のパッケージを右クリックした場合 Execute...
を選択します。 パッケージを実行します。パッケージは、SQL Server Management Studio への接続に使用される資格情報で実行されます。
SQL Server 認証を使用してパッケージを実行しようとすると、次のエラー メッセージが表示されることに注意してください:
Execute...
を押した後 、 SQL Server
プロセス ISServerExec.exe
をスピンします Console Window Host
を起動します。 プロセス:
ISServerExec.exe
SSIS カタログのパッケージを実行するプログラムです。この場合、SQL Server Management Studio から SSIS パッケージを実行するのと同じユーザーで起動されます。
プロキシなしの SQL Server エージェント ジョブ:
SQL Server エージェント ジョブ内から SSIS パッケージを実行する場合 、ジョブ ステップはデフォルトで SQL Server Agent Service Account
で実行されます . SQL Server エージェント サービスに関連付けられたユーザー アカウントは、Windows Start \ Administrative Tools \ Services
に移動することで見つけることができます。 、サービス SQL Server エージェントを探します (Your Instance Name
)、Log On As
の下にリストされているユーザー アカウントを見つけます。
プロキシを使用した SQL Server エージェント ジョブ:
プロキシ アカウントを作成することにより、異なる資格情報で SQL Server エージェント ジョブを実行することもできます。ジョブ ステップがプロキシ アカウントで実行されると、ジョブ ステップのパッケージはプロキシ アカウントで指定された資格情報で実行されます。
以下の SO 回答では、SQL Server エージェント ジョブを実行するためのプロキシ アカウントを作成するための手順を順を追って説明しています。
SSIS パッケージを実行する SQL Server エージェント ジョブでステップを作成するにはどうすればよいですか?
確認方法:
サンプル SSIS 2012 パッケージ:
パッケージの実行に使用されるユーザー アカウントに関して、上記のステートメントを検証するために私が行ったことは次のとおりです。
- <リ>
SQL Server Data Tools を開き、SO_15289442.dtsx
という名前の SSIS 2012 パッケージを作成します。 .
ExecutionUser
という名前の変数を作成します データ型 String
の .式 @[System::UserName]
を割り当てます 変数に。 UserName
パッケージを実行しているユーザーの情報を提供するシステム変数です。
ドラッグ アンド ドロップメール タスクの送信 データ フローに タブ
<リ>
SMTP 接続を作成し、SmtpConnection
に割り当てます メール送信タスク エディター - メール ページ。
From
を指定します そして To
メールアドレス
MessageSourceType を変更します Variable
へ .
MessageSource
を設定します User::ExecutionUser
に .
パッケージを右クリックし、[デプロイ] を選択して、選択したサーバーで利用可能な Integration Services カタログにプロジェクトをデプロイします。
パッケージの実行
- <リ>
SSDT 内でパッケージを実行します。
<リ>[別のユーザーとして実行] オプションを使用して SSDT を開きます。自分以外の資格情報を提供して、パッケージを再度実行してください。
<リ>Integration Services カタログからパッケージを実行します。
<リ>SQL Server エージェント サービス アカウントを使用してパッケージを実行する SQL Server エージェント ジョブを作成します。
<リ>プロキシ アカウントを使用してパッケージを実行する SQL Server エージェント ジョブを作成します。
上記の実行ごとに、パッケージの実行に使用されたユーザー アカウントが記載されたメールが届きます。
あなたの問題:
あなたの場合、パッケージはあなたのアカウントで実行されます (資格情報を使用して SSISDB にアクセスしていると仮定します) ) を右クリックして [Integration Services カタログから実行] を選択した場合。アカウントがネットワーク パスにアクセスできることを確認してください。
SQL Server エージェント ジョブ内からパッケージを実行している場合、プロキシ アカウントは run as another user
です。