반응형
- /**********************************************************************************************
-- Title : [2k5] 부분 백업(Partial Backup)
-- Reference : hanbitbook.co.kr
-- Key word : filegroup create database read_write_filegroups
**********************************************************************************************/
drop database backupDB;
--DB 생성
create database backupDB;
--읽기쓰기 파일그룹 추가
alter database backupDB
add filegroup read_write_fg;
--읽기쓰기 파일그룹에 파일 추가
alter database backupDB
add file ( name = read_write_fi,
filename = 'd:\read_write_fi.ndf'
) to filegroup read_write_fg;
--읽기전용 파일그룹 추가
alter database backupDB
add filegroup read_fg;
--읽기전용 파일그룹에 파일 추가
alter database backupDB
add file ( name = read_fi,
filename = 'd:\read_fi.ndf'
) to filegroup read_fg;
use backupdb;
--읽기전용 파일그룹에 테이블 생성
create table read_t
(a int, b int)
on read_fg;
insert into read_t values(1,1);
insert into read_t values(2,2);
insert into read_t values(3,3);
--읽기전용 파일그룹 설정
alter database backupDB
modify filegroup read_fg read_only;
--읽기쓰기 파일그룹에 테이블 생성
create table read_write_t
(a int, b int)
on read_write_fg;
insert into read_write_t values(100,100);
insert into read_write_t values(200,200);
insert into read_write_t values(300,300);
--부분 백업 수행
backup database backupDB
read_write_filegroups to disk='d:\partial_backupdb';
--데이터베이스 삭제
use master;
drop database backupDB;
--데이터베이스 복원
RESTORE DATABASE [backupdb]
FROM DISK = N'D:\partial_backupdb'
WITH FILE = 1 /* mdf가 없어도 replace여서인지 강제 복원이 된당.. */
, MOVE N'read_write_fi' TO N'd:\backupdb_1.ndf'
, MOVE N'read_fi' TO N'd:\backupdb_2.ndf'
, MOVE N'backupDB_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1
\MSSQL\DATA\backupdb_3.LDF'
, NOUNLOAD, REPLACE, STATS = 10
--데이터 확인
select * from backupdb..read_write_t;
select * from backupdb..read_t;
/*
메시지 8653, 수준 16, 상태 1, 줄 2
테이블 'read_t'이(가) 온라인 상태가 아닌 파일 그룹에 있어서
쿼리 프로세서에서 이 테이블 또는 뷰에 대한 계획을 생성할 수 없습니다.
*/
반응형