資料庫自動備份並刪除30天前的備份檔案

來源:互聯網
上載者:User

1、建立備份資料庫的預存程序

 -- =============================================
-- Create basic stored procedure template
-- =============================================

-- Drop stored procedure if it already exists
IF EXISTS (
  SELECT *
    FROM INFORMATION_SCHEMA.ROUTINES
   WHERE SPECIFIC_SCHEMA = N'dbo'
     AND SPECIFIC_NAME = N'SP_BackUpPortal'
)
   DROP PROCEDURE dbo.SP_BackUpPortal
GO

CREATE PROCEDURE dbo.SP_BackUpPortal
 @backFolderPath varchar(256)='D:/BackUp/Portal'
as
 declare @today datetime
    declare @todayString varchar(50)
    declare @bakfilePath varchar(256)
    declare @datenameString varchar(50)
    set @today=getDate()
    set @todayString=convert(varchar(11),@today,120)
    select @datenameString=  datename(dw,getdate())
-----If today is Sunday then do a full backup
    if(@datenameString='Sunday')
  begin
   set @bakfilePath=@backFolderPath+'/Portal'+@todayString+'Full.bak';
   backup database WSS_Content 
   to disk=@bakfilePath
  end
------Else do a increment backup
 else
  begin
   set @bakfilePath=@backFolderPath+'/Portal'+@todayString+'Increment.bak';
   backup database WSS_Content 
      to disk=@bakfilePath
   with DIFFERENTIAL
   end 
GO

2、建立調用比處理檔案

echo Backup database daily, if the day is sunday do a full back up else do a Increment backup
SQLCMD.EXE -S Server/Instance -d DataBaseName -Q "exec dbo.SP_BackUpPortal "

Echo delte the backfile which generated before 30 days

FORFILES /P D:/BackUp/Portal /D -30 /c "cmd /c del @path"

if %date:~0,3%==Sun goto BackByMossCmd
Exit
:BackByMossCmd
echo Backup by the mosscmd
cd C:/Program Files/Common Files/Microsoft Shared/web server extensions/12/BIN
C:
STSADM.EXE -o backup -url http://mossSite/ -filename D:/BackUp/Portal/MossCmdPortalBack%date:~10,4%-%date:~4,2%-%date:~7,2%.bak
Exit

3.在批處理中添加刪除30天前的備份檔案指令碼

FORFILES /P D:/BackUp/Portal /D -30 /c "cmd /c del @path"

4.建立windows計劃任務

不用我說了吧

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.