티스토리 뷰
NUL Device 를 통해서 로그백업이 가능하다.
BACKUP LOG TD TO DISK = 'NUL'
Q. 언제 사용할까?
A. 로그백업할 디스크 공간이 없을 때 사용하며, 로그파일의 크기가 너무 커서 로그 트랜잭션을 truncate 효과를 보기 위해서 사용해야 한다.
단, 주의해야한다. 해당 백업도 LSN 에 영향을 주기 때문에 해당 작업을 한 후 전체백업 및 로그백업을 반드시 수행해야 한다.
[데모]
-- 환경 구성하기 --
use master
GO
IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'BACKUPTEST')
DROP DATABASE BACKUPTEST
GO
CREATE DATABASE BACKUPTEST
GO
USE BACKUPTEST
GO
IF OBJECT_ID('dbo.TBL') IS NOT NULL
drop table TBL
GO
CREATE TABLE TBL(COL1 VARCHAR(50))
GO
-- 백업하기 --
INSERT INTO TBL VALUES('백업전')
BACKUP DATABASE BACKUPTEST TO DISK='E:\LAB\D___FUL1.BAK'
INSERT INTO TBL VALUES('로그백업전1')
BACKUP LOG BACKUPTEST TO DISK='E:\LAB\D___TRN1.TRN'
INSERT INTO TBL VALUES('로그백업전2')
BACKUP LOG BACKUPTEST TO DISK='NUL'
INSERT INTO TBL VALUES('로그백업전3')
BACKUP LOG BACKUPTEST TO DISK='E:\LAB\D___TRN2.TRN'
-- 백업상태 확인 --
restore headeronly from DISK='E:\LAB\D___FUL1.BAK'
restore headeronly from DISK='E:\LAB\D___TRN1.TRN'
restore headeronly from DISK='E:\LAB\D___TRN2.TRN'
39000000016800183 39000000026400001 39000000016800183 0
39000000016800183 39000000029600001 39000000016800183 39000000016800183
NUL Deive Log Backup Line - NULL Info.
39000000031200001 39000000032800001 39000000016800183 39000000016800183
-- 복원하기 --
use master
go
IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = N'BACKUPTEST_BAK')
DROP DATABASE BACKUPTEST_BAK
GO
RESTORE DATABASE BACKUPTEST_BAK FROM DISK = N'E:\LAB\D___FUL1.BAK' WITH FILE = 1,
MOVE N'BACKUPTEST' TO N'E:\SQLDATA\BACKUPTEST_BAK.mdf',
MOVE N'BACKUPTEST_log' TO N'E:\SQLDATA\BACKUPTEST_BAK_log.ldf', NOUNLOAD, STATS = 5
, NORECOVERY
GO
RESTORE LOG [BACKUPTEST_BAK] FROM DISK = N'E:\LAB\D___TRN1.TRN' WITH FILE = 1, NOUNLOAD, STATS = 10 , NORECOVERY
RESTORE LOG [BACKUPTEST_BAK] FROM DISK = N'E:\LAB\D___TRN2.TRN' WITH FILE = 1, NOUNLOAD, STATS = 10 , RECOVERY
/*
메시지 4305, 수준 16, 상태 1, 줄 62
이 백업 세트의 로그는 LSN 39000000031200001에 시작하므로 데이터베이스에 적용하기에는 너무 이른 로그입니다. LSN 39000000029600001을(를) 포함하는 더 이전의 로그 백업이 복원될 수 있습니다.
메시지 3013, 수준 16, 상태 1, 줄 62
RESTORE LOG이(가) 비정상적으로 종료됩니다.
*/
'SQL Server' 카테고리의 다른 글
SQL Server edition upgrade (에디션업그레이드) 방법 (0) | 2015.11.06 |
---|---|
SQL Server 2005 to 2008R2 Database Move (0) | 2015.11.06 |
Database Size Limited ON SQL Server Express (0) | 2015.10.22 |
인덱스된뷰는 다른 데이터베이스간의 테이블로 생성이 안된다. (0) | 2015.10.12 |
SSMS 쿼리 결과탭 없이 구문검사만 하고 싶을땐 (0) | 2015.10.08 |
- Total
- Today
- Yesterday