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

-- [SQL17_05.SQL]
--             SQLServer7.0  Transact-SQL言語
--             日本技術ソフト開発  堀川 明
--            http://www.horikawa.ne.jp/msde/
--
-- このSQLプログラムは、
--   MySampleTestデータベースのコピーを作成します
--   バックアップ用メディアにDISKファイルを使います
--
-- [注意]
--   このプログラムの実行は db_owner または db_backupoperator
--   の権限が必要です
--

-- ( 件処理されました)のメッセージの表示を抑止します
    SET NOCOUNT ON
GO
    DECLARE @ret       int
    DECLARE @dbname    varchar(20)
    DECLARE @dbname2   varchar(20)
    DECLARE @bkfname   varchar(80)
    PRINT ''
  
    -- バックアップを行うデータベースの名前
    SELECT  @dbname   = 'MySampleTest'

    -- 書き込み先/読み込み先のDISKのファイル名
    SELECT  @bkfname = 'D:\backup7\MySampleTest.DAT'

    --コピーの復元先データベースの名前
    SELECT  @dbname2  = 'MySampleCopy'

    --*************************************
    --    【完全バックアップの実行】
    -- INITオプションにより上書き新規作成
    --*************************************

    BACKUP  DATABASE  @dbname    --バックアップDBの名前
    TO  DISK = @bkfname          --保存先ファイル名
    WITH
          INIT                   --ファイル番号1番で保存

          
    --**************************************
    -- 【データベースのコピー(復元)操作】
    --**************************************

    EXEC @ret = InUse @dbname2
    IF( @ret = 1 )
        BEGIN
           RAISERROR('%s は現在使用中です。RESTORE命令は中止しました',0,127,@dbname2)
           RETURN
        END

    PRINT ''
    PRINT 'コピー(' + @dbname2 + ')を作成します'

    RESTORE  DATABASE  @dbname2   --復元したDBの名前
          FROM  DISK = @bkfname   --保存先ファイル名
          WITH
              REPLACE             --同じ名前のDBがあれば、既存を削除
                                  --論理ファイル名はあらかじめ調査
            , MOVE 'MySampleTest_Data' TO 'd:\test\MySampleCopy.mdf'
            , MOVE 'MySampleTest_Log'  TO 'd:\test\MySampleCopy.ldf'
GO
技術評論社の書籍ガイドへ
下巻:ISBN4-7741-0966-5

ウィンドウを閉じる


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


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