.dtsx
1 つのアプリケーションがパラメーター値を持つストアド プロシージャを使用して dtsx を起動したため、ストアド プロシージャを介してパラメーターを使用して SSIS カタログにマウントされたパッケージを実行する必要があります。
を使用してストアドプロシージャを作成しました
- SSISDB.Catalog.Create_Execution
- Set_Execution_Parameter_Value および
- Start_Execution.
これは機能しますが、実行するには、ユーザーがprincipal_dbにdb_owner特権を持ち、SSISDにssis_adminが必要です。これは、実行中のユーザーがWindowsアカウントである場合にのみ実行されます。これで問題はありませんが、windowsアカウントにはprincipal_dbに最小限の権限が必要です。 Windowsアカウントが必要なため、Sqlユーザーを使用して実行することはできませんが、プロシージャを作成するときに、ストアドプロシージャの実行の実行許可をプリンシパルデータベースの勝利ユーザーに与え、SSISDBで勝利ユーザーを作成し、カタログプロシージャに許可を与えます
- SSISDB.Catalog.Create_Execution
- Set_Execution_Parameter_Value
- Start_Execution
ストアド プロシージャに "execute as owner" 句を追加し、次のエラーを表示する Execute As を使用して Windows アカウントを指定しようとしましたが、エラーが発生します
現在のセキュリティ コンテキストを元に戻すことはできません。'Execute As' が呼び出された元のデータベースに切り替えて、もう一度試してください。
「execute as self」を使用してみましたが、別の win ユーザー (許可を与える) で手順を実行しようとすると、必要な Windows アカウントが表示されます。
私のユーザーは次の権限を持っています
- データベース所有者
- システム管理者と
- ssis_admin
私のプロシージャが2つのデータベースprincipal_db(プロシージャを記録する場所)とSSISDB(実行を作成してパラメータを配置するためのカタログプロシージャが存在する場所)で動作することを考えると、これを実行するにはユーザーに権限を与える必要があると思います。
誰かが私を助けることができますか?