블로그 이미지
LifeisSimple

calendar

1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

Notice

'유지관리계획'에 해당되는 글 1

  1. 2010.10.17 MNG : Backup 유지관리계획
2010. 10. 17. 23:29 Brain Trainning/DataBase
USE [msdb]

/*

                  Database Backup procedure

*/

ALTER proc [dbo].[MNG_BackupDatabase]

as

 

set nocount on

 

declare @strFilename nvarchar(200)

declare @strName nvarchar(200)

declare @weekday tinyint

declare @DBName varchar(30)

declare @delDate varchar(50)

 

set @weekday = datepart(weekday, getdate())

 

-- Delete Old Backup Data (1Week)

set @delDate = convert(varchar(30), getdate() - 6)

EXECUTE master.dbo.xp_delete_file 0,N'G:\BackupFolder',N'bak', @delDate,1

 

declare curDBName cursor fast_forward for

                  select name from sys.sysdatabases where dbid in (5,7) order by name

 

open curDBName

 

fetch next from curDBName

                  into @DBName

 

while @@fetch_status = 0

begin

                  set @strName = N'G:\BackupFolder\' + @DBName + '\' + @DBName + '_backup_' + replace(replace(replace(convert(char(19), getdate(), 120), '-', ''), ':', ''), ' ', '')

                  set @strFilename = N'G:\BackupFolder\' + @DBName + '\' + @DBName + '_backup_' + left(replace(replace(replace(convert(char(19), getdate(), 120), '-', ''), ':', ''), ' ', ''), 12)

 

                  if @weekday = 1

                  begin

                                   -- Full Backup

                                   set @strFilename = @strFilename + '.bak'

                                   BACKUP DATABASE @DBName TO  DISK = @strFilename WITH NOFORMAT, NOINIT,  NAME = @strName, SKIP, REWIND, NOUNLOAD,  STATS = 10

                                  

                  end

                  else

                  begin

                                   -- Differntial Backup

                                   set @strFilename = @strFilename + '.bak'

                                   BACKUP DATABASE @DBName TO  DISK = @strFilename WITH DIFFERENTIAL, NOFORMAT, NOINIT,  NAME = @strName, SKIP, REWIND, NOUNLOAD,  STATS = 10

                  end

 

                  fetch next from curDBName

                                   into @DBName

end

 

close curDBName

deallocate curDBName

'Brain Trainning > DataBase' 카테고리의 다른 글

SQL 2008 설치 오류 대처법  (0) 2010.10.22
Collate 쿼리... (CI_AS -> CS_AS)  (0) 2010.10.19
SQL Diag 이렇게 이용  (0) 2010.10.16
SQL Server 2008 SP2 (서비스팩2)  (0) 2010.10.04
MySQL Clustering Config  (0) 2010.09.29
posted by LifeisSimple
prev 1 next