SQLエージェントジョブを開始するために、sql2012用に開発されたssisパッケージ(および構成ファイル)があります。次のコマンドは、パッケージ全体で使用されます。
msdb.dbo.sp_start_job
msdb.dbo.sp_help_job
msdb.dbo.sp_help_jobhistory
そして、ステップレベルでSQLエージェントジョブを開始する権限を持つユーザーとして実行すると、以下のエラーメッセージが表示されます。
コード: 0xC0202009 ソース: データ収集 OLE DB ソース [20]
説明: SSIS エラー コード DTS_E_OLEDBERROR。OLE DB エラーが発生しました。エラー コード: 0x80004005。OLE DB レコードが利用可能です。ソース: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 説明: "プロシージャ 'sp_is_sqlagent_starting' のステートメント 'EXECUTE master.dbo.xp_sqlagent_is_starting @retval OUTPUT' が拡張ストアド プロシージャを呼び出すため、メタデータを特定できませんでした。
私は次のことを試しました:
- DBA に grant execute パーミッションを付与してもらいました
master.dbo.xp_sqlagent_is_starting
が、それでも問題は解決しませんでした。sysadmin としてパッケージを実行します。これはうまくいきます - オフにして、OLEDB 接続用のパッケージ構成ファイルの 1 つのオプション。これは問題に影響を与えていないようでした。
- どこを見ても、問題は
openrowset
パッケージで使用していないものに関連しているようです。
これに対する解決策はありますか (sysadmin として実行する以外に)?
ありがとう