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

-- [SQL17_09R2.SQL]
--             SQLServer7.0  Transact-SQL言語
--             日本技術ソフト開発  堀川 明
--            http://www.horikawa.ne.jp/msde/
--
-- このSQLプログラムは、SQL17_09プログラムで作成した
-- バックアップから、データベースを復元します
-- 復元方法:
--               【完全2+差分B+ログ3】
--
-- [注意]
--   このプログラムの実行は 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+ログ3 による復旧
--*****************************************
    DECLARE @dbname    varchar(20)
    DECLARE @bkdvname  varchar(40)

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

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

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


    --**********************
    -- 差分Bの復元(File=5)
    --**********************
    RESTORE  DATABASE  @dbname   --復元したDBの名前
       FROM    @bkdvname         --バックアップデバイス
       WITH
             FILE = 5            --5番の読込
           , NORECOVERY          --忘れずに!!


    --**********************************
    -- 最後のトランザクションログの復元
    --**********************************
    RESTORE  LOG  @dbname        --ログを適用するDBの名前
       FROM    @bkdvname         --バックアップデバイス
       WITH
             FILE = 8
           , 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の運営は、マイクロソフト社とは一切の関係はありません