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