4

現在、SSIS 2008R2 パッケージを使用してジョブを実行する .NET 4.0 でアプリケーションを構築しています。パッケージは別の SQL Server にあります。SQL サーバーには、パッケージの実行 (レポート サービスの呼び出し、ディスクへのアクセスなど) に必要なすべての権限を持つアカウント プロキシがあります。

私の質問は、C# からこれらのパッケージを実行する最良の方法は何ですか?

ジョブを介してパッケージを実行するために SQL エージェントを使用することについて読みましたが、私の懸念はこれです - ジョブとパッケージはどのアカウントを使用するのでしょうか? アプリケーションが実行されているアカウントですか、それとも SQL Server にあるプロキシ アカウントを使用できますか? どうすればこれを設定できますか?

前もって感謝します!

4

1 に答える 1

1

SQL Server エージェントで各ジョブ ステップを実行するユーザーを構成できます。ここではプロキシ ユーザーを使用するのが一般的です。

とにかく SQL Server データベースへのアクセスが必要な場合にジョブを開始する簡単な方法は、SQL Server Agent システム ストアド プロシージャを呼び出すことです。ただし、ジョブdbo.sp_start_jobの開始は非同期であることに注意してください。ジョブを開始してから戻るだけです。ジョブのステータスまたは結果を確認するには、他のメソッドをポーリングする必要があります。

また、データベースへの接続に使用しているデータベース ユーザー (SQL Server への統合ログインを使用している場合はローカル ユーザー) には、ストアド プロシージャを呼び出す権限が必要です。

于 2013-08-23T11:13:12.713 に答える