SSIS パッケージをまとめて、SQL サーバーにデプロイしました。このパッケージはオンデマンドで実行する必要があり、値、バッチ番号、およびデータを要求するユーザーのユーザー ID を渡す必要があります。値を渡す方法を調査するのにかなりの時間を費やしましたが、使用できるものは何も見つかりません。最も簡単な方法は、ストアド プロシージャから xp_cmdshell を実行するか、アプリケーションから直接 DTEXEC を呼び出すことですが、これらはこのインスタンスでは使用できません。同社は、xp_cmdshell はセキュリティ リスクが大きすぎると判断し、すべてのユーザーが DTEXEC を直接呼び出すために必要なアクセス許可を持っているわけではなく、すべてのユーザーのコンピューターにバイナリをインストールしてパッケージをローカルで実行するために必要なライセンスを会社が持っているわけでもありません。 .
これらはすべて、「SSIS パッケージに値を渡すにはどうすればよいですか?」という疑問につながります。
パッケージ内の変数を変更できるため、SQLジョブの使用を検討しましたが、ジョブに値を取得する必要があり、これを直接行う方法が見つかりませんでした。テーブルを使用してパッケージにそこから値を取得させることが推奨されているのを見てきましたが、パッケージを同時に実行しようとする複数の人をどのように処理するかという問題が残ります。
また、パッケージが何をしているのか疑問に思っている人のために説明すると、パッケージは一連のファジー ルックアップを実行しており、SQL 標準のみを使用しているため、マスター データを介して T-SQL 内からファジー アイテムを実行するオプションはありません。サービス。アイデア?