/* ¹®¼­¸í: 9. µ¥ÀÌÅÍ ÆÄÀÏ ¼Õ»ó ½Ã ÃÖ¼±ÀÇ º¹±¸.SQL ÀÛ¼ºÀÚ: ÀÌÀå·¡(bestmct@sqlworld.pe.kr) ÀÛ¼ºÀÏ: 2008³â 6¿ù 30ÀÏ */ -- 1) µ¥ÀÌÅͺ£À̽º ¸¸µé±â USE Master GO CREATE DATABASE MyDB ON PRIMARY ( NAME = 'MyDB_01', FILENAME = 'C:\Data\MyDB_01.mdf' ), FILEGROUP TRAN_GRP DEFAULT ( NAME = 'MyDB_02', FILENAME = 'C:\Data\MyDB_02.ndf' ), ( NAME = 'MyDB_03', FILENAME = 'C:\Data\MyDB_03.ndf' ), FILEGROUP HIST_GRP ( NAME = 'MyDB_04', FILENAME = 'C:\Data\MyDB_04.ndf' ) LOG ON ( NAME = 'MyDB_log', FILENAME = 'C:\Data\MyDB_log.ldf' ) GO -- 2) °¢ ÆÄÀÏ ±×·ì¿¡ Å×ÀÌºí ¸¸µé±â USE MyDB GO CREATE TABLE TP ( col1 int, col2 int ) ON [PRIMARY] CREATE TABLE TT ( col1 int, col2 int ) ON TRAN_GRP CREATE TABLE TH ( col1 int, col2 int ) ON HIST_GRP GO INSERT INTO TP VALUES(1, 10) INSERT INTO TT VALUES(1, 10) INSERT INTO TH VALUES(1, 10) GO -- 3) µ¥ÀÌÅͺ£À̽º Àüü ¹é¾÷ BACKUP DATABASE MyDB TO DISK = 'C:\Backup\MyDB_Full.bak' WITH INIT GO -- 4) °¢ Å×ÀÌºí¿¡ µ¥ÀÌÅÍ Ãß°¡ INSERT INTO TP VALUES(2, 20) INSERT INTO TT VALUES(2, 20) INSERT INTO TH VALUES(2, 20) GO -- 5) ·Î±× ¹é¾÷ BACKUP LOG MyDB TO DISK = 'C:\Backup\MyDB_Log.bak' WITH INIT GO -- 6) °¢ Å×ÀÌºí¿¡ µ¥ÀÌÅÍ Ãß°¡ INSERT INTO TP VALUES(3, 30) INSERT INTO TT VALUES(3, 30) INSERT INTO TH VALUES(3, 30) GO -- 7) TRAN_GRP ÆÄÀÏ ±×·ìÀÇ ÆÄÀÏ Çϳª¸¦ »èÁ¦ -- a) SQL Server ¼­ºñ½º ÁßÁö -- b) C:\Data Æú´õ¿¡¼­ MyDB_02.ndf ÆÄÀÏ »èÁ¦ -- c) SQL Server ¼­ºñ½º Àç½ÃÀÛ -- d) MyDB µ¥ÀÌÅͺ£À̽º »óÅ ȮÀÎ -- 8) ¼Õ»óµÈ µ¥ÀÌÅÍ ÆÄÀÏ ¿ÀÇÁ¶óÀÎ ½ÃŲ ÈÄ µ¥ÀÌÅͺ£À̽º ¿ÀÇÁ¶óÀÎ ÈÄ ¿Â¶óÀÎ ½ÃÅ°±â USE Master GO ALTER DATABASE MyDB MODIFY FILE (Name = MyDB_02, OFFLINE) GO ALTER DATABASE MyDB SET OFFLINE GO ALTER DATABASE MyDB SET ONLINE GO -- 9) ¸¶Áö¸· ·Î±× ¹é¾÷ BACKUP LOG MyDB TO DISK = 'C:\Backup\MyDB_TailLog.bak' WITH INIT GO -- 10) µ¥ÀÌÅͺ£À̽º º¹¿ø USE Master GO -- a) µ¥ÀÌÅÍ ÆÄÀÏ º¹¿ø RESTORE DATABASE MyDB FILE = 'MyDB_02' FROM DISK = 'C:\Backup\MyDB_Full.bak' WITH NORECOVERY GO -- b) ´Ù¸¥ ÆÄÀÏ ±×·ìÀÇ Å×ÀÌºí¿¡ ´ëÇØ °è¼ÓµÇ´Â Æ®·£Àè¼Ç ó¸® USE MyDB GO INSERT INTO TP VALUES(4, 40) INSERT INTO TH VALUES(4, 40) GO INSERT INTO TT VALUES(4, 40) -- ½ÇÆÐ GO -- c) ·Î±× º¹¿ø USE Master GO RESTORE LOG MyDB FROM DISK = 'C:\Backup\MyDB_Log.bak' WITH NORECOVERY GO -- d) ´Ù¸¥ ÆÄÀÏ ±×·ìÀÇ Å×ÀÌºí¿¡ ´ëÇØ °è¼ÓµÇ´Â Æ®·£Àè¼Ç ó¸® USE MyDB GO INSERT INTO TP VALUES(5, 50) INSERT INTO TH VALUES(5, 50) GO -- e) ¸¶Áö¸· ·Î±× º¹¿ø USE Master GO RESTORE LOG MyDB FROM DISK = 'C:\Backup\MyDB_TailLog.bak' WITH RECOVERY GO -- 11) È®ÀÎ USE MyDB GO SELECT * FROM TP GO /* col1 col2 ----------- ----------- 1 10 2 20 3 30 4 40 5 50 (5°³ Çà Àû¿ëµÊ) */ SELECT * FROM TT GO /* col1 col2 ----------- ----------- 1 10 2 20 3 30 (3°³ Çà Àû¿ëµÊ) */ SELECT * FROM TH GO /* col1 col2 ----------- ----------- 1 10 2 20 3 30 4 40 5 50 (5°³ Çà Àû¿ëµÊ) */ -- 12) Á¤¸® USE Master GO DROP DATABASE MyDB GO