SSISパッケージをSQLエージェントサービスアカウント以外として実行するようにスケジュールする方法
-
03-07-2019 - |
質問
SQL Server 2005では、SSISパッケージをスケジュールして、SQLエージェントサービスアカウント以外の何かを実行することはできますか?
データベースに接続し、ストアドプロシージャを実行するSSISパッケージがあります。私の基準は、パッケージまたはパッケージ構成でユーザー名/パスワードを指定しないことです。そのため、統合認証を使用したいと考えています。
問題は、デフォルトでジョブのステップがSQLエージェントサービスアカウントとして実行され、サーバーグループがパッケージが実行するストアドプロシージャの実行権限をそのアカウントに付与したくないことです。そのため、ステップで別のアカウントを指定する方法を見つけようとしているため、パッケージは別のコンテキストで実行されます。それは可能ですか?
解決
SQLエージェントジョブからSSISパッケージを実行する場合は、プロキシを作成できます。詳細については、こちらをご覧ください。
他のヒント
SQL Server Management Studioを介して SQL Serverエージェント
にアクセスできる場合、グラフィカルユーザーインターフェイスを使用してジョブを作成する手順は次のとおりです。この手順では、SQLエージェントサービスアカウントを使用してSSISを実行するSQLジョブを作成する方法と、異なる資格情報を使用して異なる環境で実行するプロキシを作成する方法を示します。
-
SQL Server Management Studioに移動します。
SQL Serverエージェント
を展開し、ジョブを右クリックして、スクリーンショット# 1 に示すように、新しいジョブ...
を選択します。 -
名前を指定すると、デフォルトで所有者がジョブを作成するアカウントになりますが、要件に応じて変更できます。必要に応じてカテゴリを割り当て、説明も入力します。スクリーンショット# 2 を参照してください。
-
ステップセクションで、スクリーンショット# 3 に示すように、
新規...
をクリックします。 -
「新規ジョブステップ」ダイアログで、ステップ名を入力します。 [タイプ]から[
SQL Server統合サービスパッケージ
]を選択します。このステップは、デフォルトでSQLエージェントサービスアカウント
で実行されます。パッケージソースをFile system
として選択し、省略記号をクリックしてパッケージパスを参照します。これにより、パッケージパスが設定されます。スクリーンショット# 4 を参照してください。SQLエージェントサービスアカウント
でステップを実行したくない場合は、ステップ# 8 - 9 を使用して、別のアカウントの使用方法を確認します。 -
パッケージのSSIS構成ファイル(.dtsConfig)がある場合、スクリーンショット# 5 構成タブをクリックして構成ファイルを追加します。 >。
-
[OK]をクリックすると、スクリーンショット# 6 に示すように、ステップ1にパッケージがあります。同様に、異なるステップを作成できます。
-
ジョブが作成されたら、ジョブを右クリックして、
Script Job as->を選択できます。作成先->スクリーンショット# 7 に示すように、スクリプトを生成する新しいクエリエディタウィンドウ
。 -
別のアカウントでSSISステップを実行するには、Management Studioで、
Security->に移動します。 Cedentialsを右クリック->スクリーンショット# 8 に示すように、新しい資格情報...
を選択します。 -
New Credential
ダイアログで、SQLジョブでSSISステップを実行する資格情報名、Windowsアカウント、およびパスワードを指定します。スクリーンショット# 9 を参照してください。スクリーンショット# 10 に示すように、資格情報が作成されます。 -
次に、プロキシを作成する必要があります。 Management Studioで、
SQL Server Agent->に移動します。プロキシ-> [SSISパッケージ実行]を右クリックします->スクリーンショット# 11 に示すように、[新しいプロキシ...]を選択します。
-
新しいプロキシアカウントウィンドウで、プロキシ名を指定し、新しく作成した資格情報を選択し、説明を入力して、スクリーンショット# 12 に示すようにSQL Server Integration Servicesパッケージを選択します。スクリーンショット# 13 に示すように、プロキシアカウントを作成する必要があります。
-
ここで、SQLジョブの手順に戻ると、[実行方法]ドロップダウンに新しく作成されたプロキシアカウントが表示されます。スクリーンショット# 14 を参照してください。
役立つこと。
スクリーンショット#1:
スクリーンショット#2:
スクリーンショット#3:
スクリーンショット#4:
スクリーンショット#5:
SQL 2012では、選択したユーザーアカウントがプロキシとして許可されていないというエラーが表示されました。次のクエリを使用して、この問題を解決しました。
use msdb
GO
exec sp_grant_login_to_proxy @login_name = 'MyLoginName', @proxy_name= 'proxy_SSIS'