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