아시는 분은 다 아시겠지만 SQL Server 2005 Express Edition 에는 스케쥴러(?)가 없기때문에 자동 백업이 안됩니다.(수동은 물론 가능하겠죠 ㅎ) 일단 프로시져부터 만들어 보죠~ 아 물론 한개의 디비만을 백업하기 위해 만드신다면 프로시져로 안만들고 바로 다음 단계로 가셔서도 괜찮습니다. 프로시져를 만드는 이유는 여러개의 디비를 백업하기 위해서죠^^
USE [데이타베이스명] GO SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: Edgewood Solutions -- Create date: 2007-02-07 -- Description: Backup Database -- Parameter1: databaseName -- Parameter2: backupType F=full, D=differential, L=log -- ============================================= ALTER PROCEDURE [dbo].[sp_BackupDatabase] @databaseName sysname, @backupType CHAR(1) AS BEGIN SET NOCOUNT ON; DECLARE @sqlCommand NVARCHAR(1000) DECLARE @dateTime NVARCHAR(20) SELECT @dateTime = REPLACE(CONVERT(VARCHAR, GETDATE(),111),'/','') IF @backupType = 'F' SET @sqlCommand = 'BACKUP DATABASE ' + @databaseName + ' TO DISK = ''E:\DBBackUP\' + @databaseName + '_Full_' + @dateTime + '.BAK''' IF @backupType = 'L' SET @sqlCommand = 'BACKUP LOG ' + @databaseName + ' TO DISK = ''E:\DBBackUP\' + @databaseName + '_Log_' + @dateTime + '.TRN''' EXECUTE sp_executesql @sqlCommand END뭐 그렇게 복잡하지 않으니 대충 설명하고 넘어가겠습니다. 일단 변수를 받죠 @databaseName -> 디비명 @backupType -> 백업타입 : F=full, D=differential, L=log 프로시져를 저장후에
use 디비명 GO sp_BackupDatabase '백업할 디비명', 'F' GOsp를 실행시키는 파일을 만듭니다.(저같은 경우에는 backup.sql) 이제 윈도우 예약작업만 세팅해주면 되네요 ㅎㅎ 2003 서버로 말씀드리면 시작 > 프로그램 > 보조프로그램 > 시스템도구 > 예약된 작업 클릭하시면 됩니다. 음... 아마도 마법사를 실행해서 하실텐데요 어떤거 선택했는지 기억이 ㅡㅡ;;; 그래서 그냥 오른쪽 마우스 클릭하셔서 새로 만들기 > 예약된 작업 클릭해주세요 이름은 뭐 마음대로 하셔도 상관없겠죠? ㅎㅎ 속성창을 여신다음에요 실행창에 sqlcmd -S INTRANET\SQLEXPRESS -E -i E:\DBBackUP\Backup.sql INTRANET\SQLEXPRESS -> 요넘은 SQL Server 이름입니다. E:\DBBackUP\Backup.sql -> 아까 위에서 만든 파일 경로 시작위치 "C:\Program Files\Microsoft SQL Server\90\Tools\Binn" -> 경로는 다시한번 확인해보세요 다음 계정으로 실행 -> 여기에 아이디와 암호 설정까지 해주면 됩니다. 그리고 일정창에서 작업 예약, 시작시간 등을 설정해주면 완료입니다 ㅎㅎ 아 보안설정에서 실행하는 계정의 권한이 있어야겠죠? ps) 저도 이걸 어디서 보고 만든건데 그 사이트가 어디인지 까먹었네요 ㅡㅡ;; 검색해도 안나오고 혹시 아시는분 코멘트좀 남겨주시면 참고사이트로 남기겠습니다. 출처 : Tong - jun4834님의 MS-SQL통