SQL2000自動備份壓縮刪除資料庫

2022-02-08 22:05:27 字數 1324 閱讀 9400

create proc sp_backup

asdeclare

@dbname varchar(20),

@cmd1 nvarchar(120),

@cmd2 varchar(120),

@cmd3 varchar(120),

@i int,

@filename varchar(80),

@path varchar(80)

set @dbname='test'--\\這是資料庫名,使用時只需要把它改成你所要備份的資料庫名即可,這個必須修改\\--

----刪除當前日期前15-前10天內的資料庫備份,可根需要自行修改----

set @i=10

while @i<15

begin 

set @cmd1  ='if exist e:\databackup\'+@dbname+convert(varchar(10),dateadd(day,-@i,getdate()),112) +'*' +' del  '+'e:\databackup\'+@dbname+convert(varchar(10),dateadd(day,-@i,getdate()),112) +'*'

exec master..xp_cmdshell @cmd1----刪除10天之前的資料庫備份   

set @i=@i+1

end----備份資料庫----

exec master..xp_cmdshell 'if not exist e:\databackup (md e:\databackup)'--如果e盤根目錄沒有databackup資料夾,則新建此資料夾

select @filename=@dbname+replace(replace(replace(convert(varchar(16), getdate(), 120 ),'-',''),' ','-'),':','') 

set @path='e:\databackup\'+@filename

backup database @dbname to disk=@path

----壓縮資料庫備份,刪除原備份檔案

set @cmd2='c:\progra~1\winrar\winrar.exe a  -ibck e:\databackup\'+@filename+'.rar e:\databackup\'+@filename

exec master..xp_cmdshell @cmd2----壓縮資料庫

set @cmd3='del e:\databackup\'+@filename

exec master..xp_cmdshell @cmd3----刪除原備份檔案(只保留壓縮包)

go

SQL2000自動備份 壓縮 刪除 備份檔案

create proc dbbf test asdeclare dbname varchar 20 cmd1 nvarchar 120 cmd2 varchar 120 cmd3 varchar 120 i int,filename varchar 80 path varchar 80 set db...

SQL2000與RAR結合壓縮備份

雖然現在sql server2005已經成為sql server家族的主流趨勢,sql server2005已經開發除了自動壓縮備份等功能,但是還是寫下自己在sql2000伺服器上寫的壓縮備份,留作紀念。1 備份 use master declare path varchar 200 set pat...

SQL2000 日誌壓縮

從企業管理器和程式 兩種方法來介紹ms sql server 2000日誌壓縮的方法,希望對大家有所幫助!1 程式裡面的方法 壓縮資料庫日誌 1 備份日誌 exec backup log dbname with no log 2 截斷事務日誌 exec dump transaction dbname...