MSDE FunClub 現在までのアクセスカウント数 最終更新日 : 2000/10/20
Microsoft Data Engine FunClub
Since 2000.10.20
SQLServer7.0/MSDE 完全トレーニングテキスト(下巻)
【第17章307p 〜 309p掲載】

-- [SQL17_08R5.SQL]
--             SQLServer7.0  Transact-SQL言語
--             日本技術ソフト開発  堀川 明
--            http://www.horikawa.ne.jp/msde/
--
-- このSQLプログラムは、SQL17_08プログラムで作成した
-- バックアップから、データベースを復元します
-- 復元方法:
--              【完全2+差分B+ログ】
--
-- [注意]
--   このプログラムの実行は db_owner または db_backupoperator
--   の権限が必要です
--
-- ( 件処理されました)のメッセージの表示を抑止します
    SET NOCOUNT ON
GO

--*****************************************
--    【MySampleTestデータベースを削除】
--*****************************************
   IF EXISTS( SELECT name FROM master..sysdatabases
                 WHERE( name = 'MySampleTest' ) )
      BEGIN
             DROP  DATABASE  MySampleTest
      END
GO

--*****************************************
--          【データベースの復元】
--           完全2+差分B+ログ
--*****************************************
    DECLARE @dbname    varchar(20)
    DECLARE @bkdvname  varchar(40)

    -- バックアップを行うデータベースの名前
    SELECT  @dbname   = 'MySampleTest'

    -- バックアップデバイスの名前
    SELECT  @bkdvname = 'MySampleTest_BackupDev'

    --**********************************
    -- 完全2データベースの復元(File=3)
    --**********************************
    RESTORE  DATABASE  @dbname   --復元したDBの名前
       FROM    @bkdvname         --バックアップデバイス
       WITH
             FILE = 3            --3番の読込
           , NORECOVERY          --忘れずに!!

    --**********************
    -- 差分Bの復元(File=4)
    --**********************
    RESTORE  DATABASE  @dbname
       FROM    @bkdvname
       WITH
             FILE = 4            --4番の読込
           , NORECOVERY          --忘れずに!!

    --****************************
    -- トランザクションログの復元
    --****************************
    RESTORE  LOG  @dbname        --ログを適用するDBの名前
       FROM    @bkdvname         --バックアップデバイス
       WITH
             FILE = 6
           , RECOVERY            --復元完了
GO

--*******************
--  復元内容チェック
--*******************
    USE MySampleTest
    PRINT ''
    PRINT '社員コード10から20までです'

    SELECT 社員コード , 氏名  FROM  社員
            WHERE( 社員コード BETWEEN 10 AND 20 )

   --他の復旧例題がすぐに実行できるように、接続先を変える
    USE master
GO
技術評論社の書籍ガイドへ
下巻:ISBN4-7741-0966-5

ウィンドウを閉じる


(株)日本技術ソフト開発 責任編集:堀川 明
MSDE FunClubに関するご意見・ご要望等ございましたら、 msdefun@horikawa.ne.jp までご連絡下さい。
HOME: http://www.horikawa.ne.jp/msde/


MSDE FunClubの運営は、マイクロソフト社とは一切の関係はありません