| MSDE FunClub |
|
最終更新日 : 2000/10/21 |
|
Microsoft Data Engine FunClub
|
Since 2000.10.21
|
|
SQLServer7.0/MSDE 完全トレーニングテキスト(下巻) |
|
【第17章323p 〜 325p掲載】 |
-- [SQL17_10.SQL]
-- SQLServer7.0 Transact-SQL言語
-- 日本技術ソフト開発 堀川 明
-- http://www.horikawa.ne.jp/msde/
--
-- このSQLプログラムは、
-- (1)MySampleTestデータベースをバックアップします
-- (2)レコード操作を行います
-- (3)トランザクションログのバックアップを行います
-- (4)再びレコード操作を行います
-- (4)のレコード操作がバックアップされていないことに注意
-- 復旧作業を行う前に、この部分のログを取ります
--
-- [注意]
-- このプログラムの実行は db_owner または db_backupoperator
-- の権限が必要です
--
-- ( 件処理されました)のメッセージの表示を抑止します
SET NOCOUNT ON
GO
--** お掃除 **
--[社員]テーブルは、AccessのNorthwindデータベース
--を移行したもの
USE MySampleTest
DELETE FROM 社員 WHERE( 社員コード BETWEEN 10 AND 20 )
GO
--*******************************
-- 【スクリプト開始】
--*******************************
USe MySampleTest --接続先DBを元に戻す
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 , '山田 四郎' )
INSERT INTO 社員(社員コード,氏名) VALUES( 14 , '上田 花子' )
INSERT INTO 社員(社員コード,氏名) VALUES( 15 , '上田 恵子' )
INSERT INTO 社員(社員コード,氏名) VALUES( 16 , '上田 良子' )
INSERT INTO 社員(社員コード,氏名) VALUES( 17 , '上田 優子' )
--**********************************************
-- 【トランザクションログのバックアップ】
--**********************************************
BACKUP LOG @dbname --ログのバックアップDBの名前
TO @bkdvname --バックアップデバイス名
WITH
DESCRIPTION = 'トランザクションログバックアップの実行'
--***********************************
-- バックアップされないログを追加
--***********************************
INSERT INTO 社員(社員コード,氏名) VALUES( 18 , '田山 一郎' )
INSERT INTO 社員(社員コード,氏名) VALUES( 19 , '田山 二郎' )
INSERT INTO 社員(社員コード,氏名) VALUES( 20 , '田山 三郎' )
PRINT ''
PRINt '終了しました'
--MySampleTestから別の接続にする
--SQL17_10Rプログラムがすぐに実行できる配慮
USE master
GO