| MSDE FunClub |
|
最終更新日 : 2000/10/21 |
|
Microsoft Data Engine FunClub
|
Since 2000.10.21
|
|
SQLServer7.0/MSDE 完全トレーニングテキスト(下巻) |
|
【第17章310p 〜 313p掲載】 |
-- [SQL17_09.SQL]
-- SQLServer7.0 Transact-SQL言語
-- 日本技術ソフト開発 堀川 明
-- http://www.horikawa.ne.jp/msde/
--
-- このSQLプログラムは、
-- (1)完全バックアップと差分バックアップを複数回実施します
-- (2)トランザクションログのバックアップを複数回実施します
--
-- [注意]
-- このプログラムの実行は db_owner または db_backupoperator
-- の権限が必要です
--
-- ( 件処理されました)のメッセージの表示を抑止します
SET NOCOUNT ON
GO
--** お掃除 **
--[社員]テーブルは、AccessのNorthwindデータベース
--を移行したもの
USE MySampleTest --接続先DB
DELETE FROM 社員 WHERE( 社員コード BETWEEN 10 AND 20 )
GO
--*******************************
-- 【スクリプト開始】
--*******************************
DECLARE @dbname varchar(20)
DECLARE @bkdvname varchar(40)
-- バックアップを行うデータベースの名前
SELECT @dbname = 'MySampleTest'
-- バックアップデバイスの名前
SELECT @bkdvname = 'MySampleTest_BackupDev'
--*************************************
-- 【完全1のバックアップ】
--*************************************
BACKUP DATABASE @dbname --バックアップDBの名前
TO @bkdvname --バックアップデバイス名
WITH
DESCRIPTION = '完全1:File = 1'
, INIT --既存の内容を破棄する
--************
-- 修正変更
--************
INSERT INTO 社員(社員コード,氏名) VALUES( 10 , '山田 一郎' )
INSERT INTO 社員(社員コード,氏名) VALUES( 11 , '山田 二郎' )
INSERT INTO 社員(社員コード,氏名) VALUES( 12 , '山田 三郎' )
INSERT INTO 社員(社員コード,氏名) VALUES( 13 , '山田 四郎' )
--*************************************
-- 【差分Aのバックアップ】
-- [完全1]からの変化分を記録する
--*************************************
BACKUP DATABASE @dbname
TO @bkdvname
WITH
DESCRIPTION = '差分A:File = 2'
, DIFFERENTIAL
--**********************************************
-- 【トランザクションログのバックアップ(1)】
-- ログの切り捨てを行う
--**********************************************
BACKUP LOG @dbname
TO @bkdvname
WITH
DESCRIPTION = 'ログ1:File = 3'
--*************************************
-- 【完全2のバックアップ】
--*************************************
BACKUP DATABASE @dbname
TO @bkdvname
WITH
DESCRIPTION = '完全2:File = 4'
--************
-- 修正変更
--************
INSERT INTO 社員(社員コード,氏名) VALUES( 14 , '上田 花子' )
INSERT INTO 社員(社員コード,氏名) VALUES( 15 , '上田 恵子' )
INSERT INTO 社員(社員コード,氏名) VALUES( 16 , '上田 良子' )
INSERT INTO 社員(社員コード,氏名) VALUES( 17 , '上田 優子' )
--*************************************
-- 【差分Bのバックアップ】
-- [完全2]からの変化分を記録する
--*************************************
BACKUP DATABASE @dbname
TO @bkdvname
WITH
DESCRIPTION = '差分B:File = 5'
, DIFFERENTIAL
--**********************************************
-- 【トランザクションログのバックアップ(2)】
-- ログの切り捨てを行う
--**********************************************
BACKUP LOG @dbname
TO @bkdvname
WITH
DESCRIPTION = 'ログ2:File = 6'
--*************************************
-- 【完全3のバックアップ】
--*************************************
BACKUP DATABASE @dbname
TO @bkdvname
WITH
DESCRIPTION = '完全3:File = 7'
--************
-- 修正変更
--************
INSERT INTO 社員(社員コード,氏名) VALUES( 18 , '田山 一郎' )
INSERT INTO 社員(社員コード,氏名) VALUES( 19 , '田山 二郎' )
INSERT INTO 社員(社員コード,氏名) VALUES( 20 , '田山 三郎' )
--**********************************************
-- 【トランザクションログのバックアップ(3)】
--**********************************************
BACKUP LOG @dbname
TO @bkdvname
WITH
DESCRIPTION = 'ログ3:File = 8'
PRINt '終了しました'
--MySampleTestから別の接続にする
--SQL17_09Rプログラムがすぐに実行できる配慮
USE master
GO