数据库自动备份并删除30天前的备份文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了数据库自动备份并删除30天前的备份文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2210字,纯文字阅读大概需要4分钟。
内容图文
![数据库自动备份并删除30天前的备份文件](/upload/InfoBanner/zyjiaocheng/530/d31c76825afa4c3abc88a20970cdbff9.jpg)
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计划任务
不用我说了吧
内容总结
以上是互联网集市为您收集整理的数据库自动备份并删除30天前的备份文件全部内容,希望文章能够帮你解决数据库自动备份并删除30天前的备份文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。