パッケージの実行:
SQL Server データ ツール:
が動作しているユーザー資格情報SQL Server Data Tools (SSDT)
は、SSDT 内で実行されるパッケージを実行するために使用されます。
Windows のスタート\すべてのプログラム\Microsoft SQL Server 2012 で、SQL Server Data Tools をクリックすると、資格情報で実行されます。別のユーザー アカウントで実行するには、Ctrl+を押してオプションShiftを選択しRun as different user
ます。
統合カタログ サービス:
下のパッケージを右クリックして、パッケージの実行Integration Services Catalog \ SSISDB \ <Folder name> \ Projects \ <Project name> \ Packages \ <Package name>
を選択Execute...
すると。パッケージは、SQL Server Management Studio への接続に使用される資格情報で実行されます。
SQL Server 認証を使用してパッケージを実行しようとすると、次のエラー メッセージが表示されることに注意してください。
SQL Server 認証を使用するアカウントでは操作を開始できません。Windows認証を利用したアカウントで運用を開始してください。
を押す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 を開き、 という名前の SSIS 2012 パッケージを作成しますSO_15289442.dtsx
。
ExecutionUser
データ型という名前の変数を作成しますString
。@[System::UserName]
式を変数に割り当てます。UserName
パッケージを実行しているユーザーの情報を提供するシステム変数です。
[メール送信タスク]を[データ フロー] タブにドラッグ アンド ドロップします。
SmtpConnection
SMTP 接続を作成し、 [メール送信タスク エディター - メール] ページに割り当てます。
From
およびTo
電子メール アドレスを指定します。
MessageSourceTypeを に変更しVariable
ます。
を に設定MessageSource
しUser::ExecutionUser
ます。
パッケージを右クリックし、[配置] を選択して、選択したサーバーで使用可能な Integration Services カタログにプロジェクトを配置します。
パッケージの実行
SSDT 内でパッケージを実行します。
[別のユーザーとして実行] オプションを使用して SSDT を開きます。自分以外の資格情報を指定して、パッケージを再度実行してください。
Integration Services カタログからパッケージを実行します。
SQL Server エージェント サービス アカウントを使用してパッケージを実行する SQL Server エージェント ジョブを作成します。
プロキシ アカウントを使用してパッケージを実行する SQL Server エージェント ジョブを作成します。
上記の実行ごとに、パッケージの実行に使用されたユーザー アカウントが記載された電子メールが届きます。
あなたの問題:
あなたの場合、右クリックして Integration Services Catalog から実行を選択すると、パッケージはアカウントで実行されます ( SSISDB へのアクセスに資格情報を使用していると仮定します)。アカウントがネットワーク パスにアクセスできることを確認します。
SQL Server エージェント ジョブ内からパッケージを実行している場合、プロキシ アカウントはrun as another user
検討中のオプションです。