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

2022-01-12 20:19:03 字數 1446 閱讀 3763

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 @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--1.修改本過程中目標資料庫名成你要備分的資料庫名 2.複製此行(可含此行)以上內空到查詢分析器中執行即可

--3.資料庫備份檔案存放在e:\databackup資料夾中,檔名為 資料庫名四位年兩位月兩位日-兩位時兩位分.rar

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

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 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...