MSDE FunClub | 最終更新日 : 2000/10/21 | |
Microsoft Data Engine FunClub |
|
|
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