MSDE FunClub
Microsoft Data Engine FunClub
MSDE初心者向けメーリングリスト過去ログ[1168]番
 
[TOP]>[MSDE初心者向けメーリングリスト過去ログ(1168番)]>[ウィンドを閉じる]
 
SQLServer2005時代でも
開発の基本は T-SQL
上巻で T-SQL の基礎作り
 
SQLServer2005時代でも
運用の基本はバックアップ
下巻でバックアップ手法を学びましょう
PASSJ人気コンテンツで学んだ後は下巻でさらなる学習を!
 
ウィンドを閉じる
MSDE/SQLServer FAQ
MSDE / MSDE2000 
技術情報サポート
初心者向け
メーリングリスト
過去ログの表示
技術者向け
メーリングリスト
過去ログの表示
メーリングリスト
活動状況の
表示
MSDE TOP メニュー
MSDEトップメニューに移動します
 

 
ジョブの登録( RE:  Re: ログ切捨て時の bcp   コマンド)

Date: Mon, 12 Apr 2004 17:20:45 +0900
From: "Akira Horikawa" <who@example.ne.jp>


堀川です、こんにちは


-----Original Message-----
From: Michio Taniguchi [mailto:who@example.co.jp] 
Sent: Monday, April 12, 2004 1:54 PM
To: who@example.ne.jp
Subject: [ml-msde-beg:01166] Re: ログ切捨て時の bcp コマンド


>(完全バックアップですと、Accessを一度終了しなければならない為)
>重要なデータほどログを生かすべきなのは十分に承知しているのですが
>このまま運用していても大丈夫でしょうか?

MSDEにも、SQL Server エージェントサービスがありますので、ジョブの自動実行
を行うことができます。

指定された時刻に、指定されたデータベースを完全バックアップするような作業は、
ジョブとして登録しましょう。

SQLServerであれば、Enterprise Manager上で、ジョブ管理を行いますが、
MSDEではジョブ管理は、SQL文で行います。

以下のSQL文は、
         SAMPLEデータベースを
          午前8時から午後8時まで
          2時間間隔で
          C:\DB\SAMPLE.BAKファイルに
          完全バックアップを行なう
ジョブを登録します。

このようなジョブを上手く活用して、データベースのバックアップ等を自動化して下さい



--
--ジョブカテゴリーの登録
--
 DECLARE @JOB_CATEGORY SYSNAME
 SELECT @JOB_CATEGORY = 'SAMPLE-DB JOB'

 IF ( (SELECT COUNT(*) FROM msdb.dbo.syscategories WHERE name = @JOB_CATEGORY) < 1 )
   BEGIN
     EXECUTE msdb.dbo.sp_add_category @name = @JOB_CATEGORY
   END

--
--ジョブの名前を登録する
--同じ名前のジョブがあれば、それは削除します
--
 DECLARE @JOB_NAME  SYSNAME
 DECLARE @JOB_ID    UNIQUEIDENTIFIER
 SELECT @JOB_NAME = 'SAMPLEデータベースのバックアップ'

 IF EXISTS ( 
    SELECT * FROM msdb.dbo.sysjobs 
       WHERE (name = @JOB_NAME )
 )
 BEGIN
     --ジョブの削除
     EXECUTE msdb.dbo.sp_delete_job @job_name = @JOB_NAME      
 END 


--
--ジョブを登録します
--
  EXECUTE msdb.dbo.sp_add_job
           @job_name = @JOB_NAME ,
           @category_name = @JOB_CATEGORY,
           @owner_login_name = 'sa',
           @enabled = 1 ,
           @notify_level_email = 0,
           @notify_level_page = 0,
           @notify_level_netsend = 0,
           @notify_level_eventlog = 2,
           @delete_level= 0 ,
           @description='毎日2時間間隔でバックアップを実行します',
           @job_id   = @JOB_ID OUTPUT

--
--ジョブ ステップの追加
--
  DECLARE @BACKUP_FN VARCHAR(80)
  DECLARE @TSQL  VARCHAR(256)
  SELECT @BACKUP_FN='C:\DB\SAMPLE.BAK'
  SELECT @TSQL = 'BACKUP DATABASE SAMPLE TO DISK=''' + @BACKUP_FN + ''''


  EXECUTE msdb.dbo.sp_add_jobstep
            @job_id  = @Job_ID,
            @step_id = 1,
            @step_name = 'Sampleバックアップ',
            @command   = @TSQL,
            @database_name = 'SAMPLE',
            @server = '',
            @database_user_name = 'dbo',
            @subsystem = 'TSQL',
            @cmdexec_success_code = 0,
            @flags = 0,
            @retry_attempts = 0,
            @retry_interval = 1,
            @output_file_name = '',
            @on_success_step_id = 0,
            @on_success_action = 1,
            @on_fail_step_id = 0,
            @on_fail_action = 2

  --属性変更の実施
  EXECUTE msdb.dbo.sp_update_job
            @job_id = @Job_ID,
            @start_step_id = 1 

--
--ジョブ スケジュールの追加
--
  EXECUTE  msdb.dbo.sp_add_jobschedule
          @job_id   = @Job_ID,
          @name     = '毎日2時間',
          @enabled  = 1,
          @freq_type = 4,
          @active_start_date = 20040412,
          @active_start_time = 80000, --午前8時
          @freq_interval = 1,
          @freq_subday_type = 8,
          @freq_subday_interval = 2,
          @freq_relative_interval = 0,
          @freq_recurrence_factor = 0,
          @active_end_date = 99991231,
          @active_end_time = 200000   --午後8時


--SQLServerAgentにジョブの登録完了を通知する
--SQLServerAgentサービスを起動しておくこと
  EXECUTE  msdb.dbo.sp_add_jobserver @job_id = @Job_ID, @server_name = '(local)'


------------------------------------
(株)日本技術ソフト開発
        堀川 明  (Akira Horikawa)
    04月12日(月曜日) 17時20分記
        mailto:who@example.ne.jp
        http://www.horikawa.ne.jp/msde/





[MSDE/SQLServerに関して、今、どんなことにお困りですか?]
よろしければお困りの内容を、電子メールで教えて下さい。
質問を電子メールで作成する


[ウィンドを閉じる]

[MSDE/SQLServer FAQ ]

[MSDE / MSDE2000 技術サポート情報一覧]

MSDE TOP ページに移動する

 
 
 
 
 
 
 
MSDE FunClubに関するご意見・ご要望等ございましたら、
msdefun@horikawa.ne.jp までご連絡下さい。
MSDEを始めとする各種データベースシステムの開発、コンサルタントに関するご要望等は、
msdedev@horikawa.ne.jp までご連絡下さい。