數據是企業的重要信息,可能也是商業機密.所以我們一定要及時的作好備份,保重數據的安全.
下面是設計了一個存儲過程來備份數據.如果要實現自動的備份你可以執行一個任務來自動的處理.
CREATE procedure AutoBackupDataBase
--WITH ENCRYPTION 加密
As
Begin
declare @Str varchar(8)
declare @Str_d varchar(8)
declare @Str_DB varchar(100)
declare @Str_DB_d varchar(100)
declare @Str_LOG varchar(50)
Declare @StrPath varchar(50)
declare @Name sysname
set @Str=convert(char(10),getdate(),112)
set @Str_d=convert(char(10),getdate()-7,112)
set @StrPath = 'E:\BackupData\EveryDayBackup\'
declare DBName cursor for select Name from master.dbo.sysdatabases where name='DG_DB' or name='HKbomdb'
open DBName
FETCH NEXT FROM DBName into @Name
WHILE @@FETCH_STATUS = 0
BEGIN
--刪除7天以前的備份
set @Str_DB_d ='del '+@StrPath+@Name+'_DB'+@Str_d
print @Str_DB_d
exec master..xp_cmdshell @str_db_d
set @Str_DB =@StrPath+@Name+'_DB'+@Str
--set @Str_LOG =@StrPath+@Name+'_LOG'+@Str
BACKUP DATABASE @Name TO DISK = @Str_DB WITH NOINIT , NOUNLOAD , NAME = N'所有數據庫備份', NOSKIP , STATS = 10, NOFORMAT
--BACKUP LOG bdm TO DISK = @Str_LOG WITH NOINIT , NOUNLOAD , NAME = N'所有數據庫日志備份', NOSKIP , STATS = 10, NOFORMAT, NO_TRUNCATE
FETCH NEXT FROM DBName INTO @Name
END
CLOSE DBName
DEALLOCATE DBName

end
posted on 2006-01-11 11:11
Harryson 閱讀(817)
評論(0) 編輯 收藏 所屬分類:
SqlServer