간단한 완전한 데이터베이스 스크립트 및 시스템 데이터베이스에 백업이 필요한지 여부

7085 단어 데이터베이스
간단한 완전 데이터베이스 스크립트 @ path 부분에서 경로를 바꿔야 합니다
 1 DECLARE @name VARCHAR(50) -- database name  

 2 DECLARE @path VARCHAR(256) -- path for backup files  

 3 DECLARE @fileName VARCHAR(256) -- filename for backup  

 4 DECLARE @fileDate VARCHAR(20) -- used for file name

 5  

 6 -- specify database backup directory

 7 SET @path = 'C:\Backup\'  

 8  

 9 -- specify filename format

10 SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) 

11  

12 DECLARE db_cursor CURSOR FOR  

13 SELECT name 

14 FROM master.dbo.sysdatabases 

15 WHERE name NOT IN ('master','model','msdb','tempdb')  -- exclude these databases

16  

17 OPEN db_cursor   

18 FETCH NEXT FROM db_cursor INTO @name   

19  

20 WHILE @@FETCH_STATUS = 0   

21 BEGIN   

22        SET @fileName = @path + @name + '_' + @fileDate + '.BAK'  

23        BACKUP DATABASE @name TO DISK = @fileName  

24  

25        FETCH NEXT FROM db_cursor INTO @name   

26 END   

27  

28 CLOSE db_cursor   

29 DEALLOCATE db_cursor

'마스터','모델','msdb','tempdb'데이터베이스를 백업하지 않는 것을 볼 수 있습니다. 고립된 계정의 문제를 비교적 쉽게 처리하기 위해 마스터 데이터베이스를 백업하는 것을 권장합니다.2012 포함 데이터베이스를 사용하거나 마스터 데이터베이스를 백업하는 것을 권장합니다
모델 데이터베이스에는 사용자 데이터가 존재하지 않지만 데이터베이스에서 과정하는tempdb는 모델의 매개 변수를 통해 만들어야 하기 때문에 백업을 권장합니다.
msdb는 SQL 에이전트에 대한 계획 정보와 백업 복원 정보를 기록합니다. 백업도 하고, 완전 복구 모드를 사용해서 불필요한 장치에 두는 것을 권장합니다.
tempdb는 데이터베이스가 시작될 때 만들어지기 때문에 백업할 필요가 없습니다.
 
Reference
http://www.mssqltips.com/sqlservertip/1070/simple-script-to-backup-all-sql-server-databases/

좋은 웹페이지 즐겨찾기