| MSDE FunClub |
|
最終更新日 : 2000/10/20 |
|
Microsoft Data Engine FunClub
|
Since 2000.10.20
|
|
SQLServer7.0/MSDE 完全トレーニングテキスト(下巻) |
|
【第17章302p 〜 304p掲載】 |
-- [SQL17_08R2.SQL]
-- SQLServer7.0 Transact-SQL言語
-- 日本技術ソフト開発 堀川 明
-- http://www.horikawa.ne.jp/msde/
--
-- このSQLプログラムは、SQL17_08プログラムで作成した
-- バックアップから、データベースを復元します
-- 復元方法:
-- 【完全2+ログ】
--
-- [注意]
-- このプログラムの実行は db_owner または db_backupoperator
-- の権限が必要です
--
-- ( 件処理されました)のメッセージの表示を抑止します
SET NOCOUNT ON
GO
--*****************************************
-- 【MySampleTestデータベースを削除】
--*****************************************
IF EXISTS( SELECT name FROM master..sysdatabases
WHERE( name = 'MySampleTest' ) )
BEGIN
DROP DATABASE MySampleTest
END
GO
--*****************************************
-- 【データベースの復元】
-- 完全2+ログ による復旧
--*****************************************
DECLARE @dbname varchar(20)
DECLARE @bkdvname varchar(40)
-- バックアップを行うデータベースの名前
SELECT @dbname = 'MySampleTest'
-- バックアップデバイスの名前
SELECT @bkdvname = 'MySampleTest_BackupDev'
--**********************
-- 完全2の復元(File=3)
--**********************
RESTORE DATABASE @dbname --復元したDBの名前
FROM @bkdvname --バックアップデバイス
WITH
FILE = 3 --3番の読込
, NORECOVERY --忘れずに!!
--****************************
-- トランザクションログの復元
--****************************
RESTORE LOG @dbname --ログを適用するDBの名前
FROM @bkdvname --バックアップデバイス
WITH
FILE = 6
, RECOVERY --復元完了
GO
--*******************
-- 復元内容チェック
--*******************
USE MySampleTest
PRINT ''
PRINT '社員コード10から20までです'
SELECT 社員コード , 氏名 FROM 社員
WHERE( 社員コード BETWEEN 10 AND 20 )
--他の復旧例題がすぐに実行できるように、接続先を変える
USE master
GO