最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

数据库自动备份并删除30天前的备份文件

来源:懂视网 责编:小采 时间:2020-11-09 07:32:25
文档

数据库自动备份并删除30天前的备份文件

数据库自动备份并删除30天前的备份文件:1、创建备份数据库的存储过程 -- ============================================= -- Create basic stored procedure template -- ============================================= -- Drop stored pro
推荐度:
导读数据库自动备份并删除30天前的备份文件:1、创建备份数据库的存储过程 -- ============================================= -- Create basic stored procedure template -- ============================================= -- Drop stored pro

1、创建备份数据库的存储过程 -- ============================================= -- Create basic stored procedure template -- ============================================= -- Drop stored procedure if it already exists IF EXISTS ( SELECT * FROM

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计划任务

不用我说了吧

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

数据库自动备份并删除30天前的备份文件

数据库自动备份并删除30天前的备份文件:1、创建备份数据库的存储过程 -- ============================================= -- Create basic stored procedure template -- ============================================= -- Drop stored pro
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top