sql >> データベース >  >> RDS >> Sqlserver

Integration Services Catalog がパッケージを実行するために使用するユーザー資格情報はどれですか?

    パッケージの実行:

    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 です。



    1. 表で類似の番号パターンを見つける

    2. MySQLが昨日の日付を選択

    3. 'PROCEDURE'postgresqlの近くの構文が正しくありません

    4. MySQL:すべての列がNULLである行の挿入を防ぐ方法は?