14

ストアド プロシージャを毎晩自動的に実行したいと考えています。どうすればできますか。この目標を達成するための手順を教えてください。

前もって感謝します。

4

3 に答える 3

18

SQL Server エージェントを使用してジョブを作成できます。

ここに画像の説明を入力

ジョブ フォルダを右クリックしてメニューを開き、[新しいジョブ] を選択します。

ここに画像の説明を入力

新しいジョブを作成するとウィンドウが開き、作成するジョブの詳細を指定します。含む:

  • 名前 - [一般] タブ
  • 手順 - SQL スクリプト、SSIS パッケージ、ストアド プロシージャを実行できます
  • スケジュール - 繰り返し、毎週、毎日など、選択した頻度で。

ここでは、SQL ジョブを作成するためのステップ バイ ステップ ガイドを示します。

于 2012-08-28T11:25:29.123 に答える
4

これを試して:

CREATE PROCEDURE MyTask
 AS
BEGIN  
    SET NOCOUNT ON;
    --  For executing the stored procedure at 11:00 P.M
    declare @delayTime nvarchar(50)
    set @delayTime = '23:00'

    while 1 = 1
    begin
        waitfor time @delayTime 
        begin
            --Name for the stored proceduce you want to call on regular bases
            execute [DatabaseName].[dbo].[StoredProcedureName];
        end
    end
END

それで、

-- Sets stored procedure for automatic execution.
sp_procoption    @ProcName = 'MyTask',
                @OptionName = 'startup',
                @OptionValue = 'on'

参照:

sp_procoption (Transact-SQL)

自動実行用のストアド プロシージャを設定またはクリアします。自動実行に設定されたストアド プロシージャは、SQL Server のインスタンスが開始されるたびに実行されます。

を待つ

指定された時間または時間間隔に達するか、指定されたステートメントが少なくとも 1 つの行を変更または返すまで、バッチ、ストアド プロシージャ、またはトランザクションの実行をブロックします。

于 2012-08-28T11:48:52.200 に答える
0

手っ取り早い解決策は、

ストアド プロシージャを作成する SQL ジョブを作成する (以下に手順を示します)

http://www.dailycoding.com/Posts/step_by_step_guide_to_add_a_sql_job_in_sql_server_2005.aspx

手順 5 で、作成したストアド プロシージャを構成します。

于 2012-08-28T11:24:34.943 に答える