1

を使用してSQL Server 2008 R2います。私は別five databases on the same server.のものを持っていますtables and stored procedure schema of all of them are the sameが、data are different私はそれらを別のサイトに向けました。sql jobここで、毎日午後 9 時 30 分に実行される を作成したいと考えています。データベース テーブルからデータを取得し、一時テーブルに格納します。そして、一時テーブルのデータを LOG ファイルに書き込むもう 1 つの SQL ジョブ。

私はこれのために作成two different stored proceduresしました-1つはデータをフェッチし、もう1つはそれを書き込みます。両方とも各データベースで正常に動作しています。

しかし、問題は、SQL サーバー エージェントでは、ストア プロシージャ名を取得して実行するデータベースごとに 2 つの SQL ジョブを作成したくない (合計 10 の SQL ジョブ) ことです。その代わりに、 を作成したいONLY TWO SQL JOBS。1 つはストアド プロシージャを実行してデータを一時テーブルにフェッチし、もう 1 つは最初の完了後に実行され、サーバー内の各データベースの専用ディレクトリのログ ファイルにデータを書き込みます。

5 つのデータベースすべてで同じストアド プロシージャ名とテーブル名を使用していますが、可能ですか?

4

2 に答える 2

1

私の提案は、1つまたは2つのジョブを作成し、動的SQLを使用してspをループで実行することです。exec [Database1].[dbo].usp_procedurename @parametr1 によって、別のデータベースで利用可能な sp を実行できます。

于 2013-03-29T08:33:38.017 に答える