본문 바로가기

Software/Windows-MS SQL

Sqlcmd 를 이용해서 SQL 자동백업하기.

 

image

아래 올린 SQL Server 2005 의 각 Edition 별 기능 차이표를 보면 아시겠지만...
SQL Server 2005 Express Edition은 무료 버젼이기때문에 SQL Agent 를 사용할 수 없도록 되어 있습니다.
하지만 아쉬운 대로 Windows Job schedule 로 Sqlcmd를 이용해서 job schedule 을 비슷하게 사용할 수 있습니다.
SQL 서버를 만지는 작업이니 기본적으로 SQL,BAT 파일은 만들수 있고 Windows Job schedule 등록이 가능하다는 가정하에 설명 간단히 설명해도 되겠죠?

상황을 예를 들어서 주기적으로 백업 을 하려고 할 경우...

우선 원하는 Script 으로 SQL 파일 생성을 만들 어줍니다. (예:BACKUP.SQL)
declare @dir nvarchar(100)
declare @backupname nvarchar(100)
set @dir = N'Z:\Backup_SQL\서버_backup_' + convert(nvarchar(20), getDate(), 112) + N'.bak'
set @backupname = N'서버_backup_' + convert(nvarchar(20), getDate(), 112)
BACKUP DATABASE [DB이름] TO  DISK = @dir WITH NOFORMAT, NOINIT,  NAME = @backupname, SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO


그리고 백업을 수행할 배치파일을 만들어 줍니다. (예:BACKUP.BAT)
sqlcmd -S 서버이름 -i "Z:\Backup_SQL\BACKUP.SQL"

이제 Windows Job schedule 에 위에서 만든 배치파일(예:BACKUP.BAT)을 넣어주면 됩니다.

간단하죠..? ^^

'Software > Windows-MS SQL' 카테고리의 다른 글

MS SQL Server DB 옮기기.  (0) 2010.07.30
MS SQL Server 2005 Express 설치하기  (0) 2010.04.22
SQL Server 2005 에디션별 기능비교  (0) 2008.04.14
MS SQL - Data Type 정리  (0) 2008.04.04