MS-SQL 스크립트로 백업하기

2010.11.12 00:51

조인상 조회 수:34678

원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

원문 : http://www.ischo.net -- 조인상 //시스템 엔지니어

 

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

Express Edition의 경우 개발자용 무료버전이라

 

Management Studio 의 경우도 Express 에디션이고 백업에 쓰이는 '관리-유지보수계획' 이 없어서

 

GUI 방식으로 손쉽게 자동백업을 구성할 수 없다.

 

 

이럴땐 스크립트로 만들어서 윈도우 작업스케줄러에 등록하여 해결하자.

 

 

dbbackup.sql --------------------------------------------------------------------------------------------------------------

 

DECLARE @Path nvarchar(200)
DECLARE @DBName nvarchar(100)
DECLARE @FileName nvarchar(100)

DECLARE @TXFileName nvarchar(100)
DECLARE @FullFileName nvarchar(200)
DECLARE @TXFileName nvarchar(200)
DECLARE @TXFullFileName nvarchar(200)

SET @Path = 'D:\backup'
SET @DBName = 'master'
-- 경로지정
SET @Path = @Path + N'\' + @DBName
-- 파일명 생성
SET @FileName = @DBName + N'_Backup_' + CONVERT(VARCHAR(10), GETDATE(), 120) + N'_' + LEFT(REPLACE(CONVERT(VARCHAR, GETDATE(), 108),':','-'),5)
SET @TXFileName = @DBName + N'_TX_' + CONVERT(VARCHAR(10), GETDATE(), 120) + N'_' + LEFT(REPLACE(CONVERT(VARCHAR, GETDATE(), 108),':','-'),5)
-- 경로+파일명
SET @FullFileName = @Path + N'\' + @FileName + N'.bak'
SET @TXFullFileName = @Path + N'\tx\' + @TXFileName + N'.trn'

-- 백업 실행
BACKUP DATABASE @DBName TO DISK = @FullFileName WITH NOFORMAT, NOINIT, NAME = @FileName, SKIP, REWIND, NOUNLOAD, STATS = 10
BACKUP LOG @DBName TO DISK = @TXFullFileName WITH NOFORMAT, NOINIT, NAME = @FileName, NOSKIP, STATS = 10, NOFORMAT

-------------------------------------------------------------------------------------------------------------
 
스크립트를 실행할 때는 다음과 같이...
 
c:\> osql -L
server\dbname
 
c:\> osql -S server\dbname -Usa -Ppassword -i dbbackup.sql
 
 
 
 
 
 
 
서버에 요청 중입니다. 잠시만 기다려 주십시오...