3

.dtsx1 つのアプリケーションがパラメーター値を持つストアド プロシージャを使用して dtsx を起動したため、ストアド プロシージャを介してパラメーターを使用して SSIS カタログにマウントされたパッケージを実行する必要があります。

を使用してストアドプロシージャを作成しました

  1. SSISDB.Catalog.Create_Execution
  2. Set_Execution_Parameter_Value および
  3. Start_Execution.

これは機能しますが、実行するには、ユーザーがprincipal_dbにdb_owner特権を持ち、SSISDにssis_adminが必要です。これは、実行中のユーザーがWindowsアカウントである場合にのみ実行されます。これで問題はありませんが、windowsアカウントにはprincipal_dbに最小限の権限が必要です。 Windowsアカウントが必要なため、Sqlユーザーを使用して実行することはできませんが、プロシージャを作成するときに、ストアドプロシージャの実行の実行許可をプリンシパルデータベースの勝利ユーザーに与え、SSISDBで勝利ユーザーを作成し、カタログプロシージャに許可を与えます

  1. SSISDB.Catalog.Create_Execution
  2. Set_Execution_Parameter_Value
  3. Start_Execution

ストアド プロシージャに "execute as owner" 句を追加し、次のエラーを表示する Execute As を使用して Windows アカウントを指定しようとしましたが、エラーが発生します

現在のセキュリティ コンテキストを元に戻すことはできません。'Execute As' が呼び出された元のデータベースに切り替えて、もう一度試してください。

「execute as self」を使用してみましたが、別の win ユーザー (許可を与える) で手順を実行しようとすると、必要な Windows アカウントが表示されます。

私のユーザーは次の権限を持っています

  1. データベース所有者
  2. システム管理者と
  3. ssis_admin

私のプロシージャが2つのデータベースprincipal_db(プロシージャを記録する場所)とSSISDB(実行を作成してパラメータを配置するためのカタログプロシージャが存在する場所)で動作することを考えると、これを実行するにはユーザーに権限を与える必要があると思います。

誰かが私を助けることができますか?

4

1 に答える 1

0

DTSX パッケージを実行するには、SSIDB 管理者権限が必要です。

パッケージは DB2 proc を参照しており、DBO が必要であるため、proc には OWNER として EXECUTE が必要であり、Proc には Win User への GRANT Execute があります

WIN USER が所有するスケジュール ジョブ ステップ...これはそうですか? そして失敗しますか?

于 2014-11-12T12:12:48.060 に答える