--將自動備份寫成PROCEDURE
CREATE PROCEDURE DBDACKUP AS
DECLARE @BACKDATE VARCHAR(8)
DECLARE @ACOMMAND VARCHAR(200)
--備份日期
SET @BACKDATE = CONVERT(VARCHAR(8), GETDATE(), 112)
--備份指令
SET @ACOMMAND =
'BACKUP DATABASE [QRSP_HM] TO DISK = N''D:\databak\QRSP_HM_backup_'+@BACKDATE+'.bak'''
+'WITH NOFORMAT, NOINIT, NAME = N''QRSP_HM_backup_'+@BACKDATE+'.bak'''+', SKIP, REWIND, NOUNLOAD, STATS = 10'
--執行備份指令
--因指令內有包含變數(@BACKDATE),所以需用EXEC方式執行
EXEC(@ACOMMAND)
--刪除備份檔(保留21天)
SET @BACKDATE = CONVERT(VARCHAR(8), GETDATE()-21, 112)
SET @ACOMMAND = 'MASTER.dbo.xp_delete_file 0,N''D:\databak'',N''BAK'',N'''+@BACKDATE+''''
EXEC(@ACOMMAND)
沒有留言:
張貼留言