2

sproc からの結果をテーブルに挿入する 1 つのステップでスケジュールされたジョブをセットアップしようとしています。

INSERT INTO results_table EXEC sproc

ジョブが実行され、成功が報告されます。しかし、テーブルには何も挿入されません。SSMS から同じスクリプトを実行すると、結果が挿入されます。問題の原因は何ですか?

** 編集ジョブは sa が所有し、ステップは dbo として実行されます。履歴内のすべての実行は、正常に終了したと報告されます。ステップを変更してみました

INSERT INTO results_table(field_names) (SELECT values FROM table GROUP BY column_name) 

そして、それは同様の方法で動作します

** master データベースから選択した場合にのみ発生する問題を編集します。他のテーブルからの選択は正常に機能します。

4

3 に答える 3

2

Master データベースまたは挿入するデータベースに挿入しているかどうかを確認します。または、ジョブ ステップ内でデータベース インスタンスを使用して SP を呼び出す

Insert Into Results_Table
EXEC <DBNAME>.<SchemaName>.<ProcedureName>
于 2010-07-01T14:31:01.703 に答える
0

問題は、スケジュールされたジョブで、マスター データベースのコンテキストではなく、ストアド プロシージャが実行されることでした。

于 2010-07-10T14:48:03.537 に答える
0

ストアド プロシージャの結果を最初に一時テーブルに挿入してから、results_table に挿入しようとしましたか? この概念を詳細にレビューするこの記事と同様に、私はそれをお勧めします: http://www.sommarskog.se/share_data.html

于 2010-07-01T14:45:26.767 に答える