MSDE FunClub | 最終更新日 : 2000/10/06 | |
Microsoft Data Engine FunClub |
|
|
SQLServer7.0/MSDE 完全トレーニングテキスト(下巻) | ||
【第17章284p 〜 286p掲載】 |
-- [SQL17_07.SQL] -- SQLServer7.0 Transact-SQL言語 -- 日本技術ソフト開発 堀川 明 -- http://www.horikawa.ne.jp/msde/ -- -- このSQLプログラムは、 -- (1)MySampleTestデータベースをバックアップします -- (2)レコード操作を行います -- (3)差分バックアップを行います -- 差分バックアップを2回実行します -- 復元処理でその違いを見ましょう -- -- [注意] -- このプログラムの実行は db_owner または db_backupoperator -- の権限が必要です -- -- これから操作する既定のデータベースを MySampleTest にします USE MySampleTest GO -- ( 件処理されました)のメッセージの表示を抑止します SET NOCOUNT ON GO --** お掃除 ** --[社員]テーブルは、AccessのNorthwindデータベース --を移行したもの DELETE FROM 社員 WHERE( 社員コード BETWEEN 10 AND 13 ) IF( (object_id('TEST') IS NOT NULL ) AND OBJECTPROPERTY(object_id('TEST'),'IsTable') = 1 ) BEGIN DROP TABLE TEST END GO --******************************* -- 【スクリプト開始】 --******************************* DECLARE @dbname varchar(20) DECLARE @bkdvname varchar(40) -- バックアップを行うデータベースの名前 SELECT @dbname = 'MySampleTest' -- バックアップデバイスの名前 SELECT @bkdvname = 'MySampleTest_BackupDev' --************************************* -- 【完全バックアップの実行】 --************************************* BACKUP DATABASE @dbname --バックアップDBの名前 TO @bkdvname --バックアップデバイス名 WITH DESCRIPTION = 'MySampleTestのフルバックアップの実行' , INIT --既存の内容を破棄する --************ -- 修正変更 --************ --データベースに対してレコード操作を行う INSERT INTO 社員(社員コード,氏名) VALUES( 10 , '山田 一郎' ) INSERT INTO 社員(社員コード,氏名) VALUES( 11 , '山田 二郎' ) INSERT INTO 社員(社員コード,氏名) VALUES( 12 , '山田 三郎' ) INSERT INTO 社員(社員コード,氏名) VALUES( 13 , '山田 四郎' ) --************************************* -- 【差分バックアップの1回目の実行】 --************************************* BACKUP DATABASE @dbname --バックアップDBの名前 TO @bkdvname --バックアップデバイス名 WITH DESCRIPTION = '第1回目差分バックアップ:レコード登録後' , DIFFERENTIAL --差分バックアップ --************ -- 修正変更 --************ CREATE TABLE TEST( ID int NOT NULL PRIMARY KEY , DT varchar(20) ) INSERT INTO TEST VALUES( 1 , '0001' ) INSERT INTO TEST VALUES( 2 , '0002' ) INSERT INTO TEST VALUES( 3 , '0003' ) INSERT INTO TEST VALUES( 4 , '0004' ) INSERT INTO TEST VALUES( 5 , '0005' ) --************************************* -- 【差分バックアップの2回目の実行】 --************************************* BACKUP DATABASE @dbname --バックアップDBの名前 TO @bkdvname --バックアップデバイス名 WITH DESCRIPTION = '第2回目差分バックアップ:テーブル作成後' , DIFFERENTIAL --差分バックアップ GO