首页 > 其他分享 >存储过程(bp_sys_DatabaseBackup )

存储过程(bp_sys_DatabaseBackup )

时间:2024-08-12 16:28:52浏览次数:6  
标签:BakFile database -- sys DatabaseBackup bp

bp_sys_DatabaseBackup



USE [database_name]
GO
/****** Object:  StoredProcedure [dbo].[bp_sys_DatabaseBackup]    Script Date: 08/12/2024 16:21:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--exec bp_sys_DatabaseBackup 'E:\DATABACKUP',null,2
ALTER PROCEDURE [dbo].[bp_sys_DatabaseBackup]
	@Path varchar(255),
	@days	int	,			--自动删除数据库天数
	@BackupMode	int=1		--1默认数据库备份;-日志备份	
AS
declare @intRetval int
declare @strMessage varchar(255)
declare @BakFile varchar(255)
declare @database varchar(255)
DECLARE @date datetime

set @intRetval=0
set @Path=isnull(@Path,'D:\DATABACKUP')
set @database=DB_NAME()
--先清除备份文件
--目录名必须设置正确,否则会容易造成清除不成功,导致硬盘爆满
SET @days=ISNULL(@days,30)
SET @date=DATEADD(day,-@days,GETDATE())
EXECUTE master.dbo.xp_delete_file 0,@Path,N'bak',@Date

BEGIN TRY
IF @BackupMode =1
BEGIN
	SET @BakFile=@Path+'\'+@database+replace(replace(replace(convert(varchar(30),getdate(),120),' ',''),'-',''),':','')+'.bak'
	BACKUP DATABASE @database TO  DISK = @BakFile WITH NOFORMAT, NOINIT,  NAME =@database , SKIP, NOREWIND, NOUNLOAD,  STATS = 10
	INSERT INTO [xs_DatabaseBackupLog](DBName,BackupFile,BackupTime,Status,Remark)
		SELECT @database,@BakFile,getdate(),1,'数据库备份成功'
END
IF @BackupMode=2
BEGIN
	PRINT '开始日志备份...'
	--追加到最近一个文件里
	SELECT TOP 1 @BakFile=BackupFile FROM xs_databasebackuplog WHERE BackupTime>dateadd(day,-7,getdate()) AND Status=1 ORDER BY ID DESC
--	SET @BakFile=@Path+'\'+@database+replace(replace(replace(convert(varchar(30),getdate(),120),' ',''),'-',''),':','')+'Log.bak'
	BACKUP LOG @database TO  DISK = @BakFile WITH NOFORMAT, NOINIT,  NAME = @database, SKIP, NOREWIND, NOUNLOAD,  STATS = 10
	INSERT INTO [xs_DatabaseBackupLog](DBName,BackupFile,BackupTime,Status,Remark)
		SELECT @database,@BakFile,getdate(),1,'日志备份成功'
END
END TRY
BEGIN CATCH
	IF ERROR_NUMBER()>0
	BEGIN
		set @strMessage='备份失败!'+ERROR_MESSAGE()
		INSERT INTO [xs_DatabaseBackupLog](DBName,BackupFile,BackupTime,Status,Remark)
			SELECT @database,null,getdate(),0,@strMessage
		GOTO QUIT
	END
END CATCH

QUIT:
RETURN @intRetval

 

作业:

use <database_name>
go
exec bp_sys_DatabaseBackup 'G:\Databackup\<database_name>_BACKUP',1
go

  

 

标签:BakFile,database,--,sys,DatabaseBackup,bp
From: https://www.cnblogs.com/jason-zhao/p/18355223

相关文章

  • C# System.DateTime.Now 的一些用法
    C#中的日期处理函数     //2007年4月24日     this.TextBox6.Text=System.DateTime.Now.ToString("D");     //2007-4-24     this.TextBox7.Text=System.DateTime.Now.ToString("d");     //2007年4月24日16:30:15     this.TextBox8......
  • 4.4.Proxy ARP_HSRP_VRRP_GLBP
    交换网络冗余备份ha(高可用性)1容错功能,单点故障2设备冗余,线路冗余,模块冗余。3优化rpr和rpr+rpr切换2-4mrpr+30-60smsfc(多层交换特性卡路由引擎)pfc(交换引擎)rpr+主次引擎都工作,备份主的配置等rpr+1主引擎工作备份也在工作2把runningconif和startupconfig备份3表项......
  • 混合策略改进的蜣螂算法(IDBO)优化BP神经网络
    目录0引言1数学模型2模型对比3matlab代码3.1改进的主代码3.2IDBO-BP4视频讲解0引言针对DBO算法全局探索能力不足、易陷入局部最优以及收敛精度不理想等问题,多为学者提出了混合多策略改进的蜣螂优化算法(IDBO)。主要混合策略改进首先是采用混沌映射结合随机反向......
  • 【状态估计】【扩展卡尔曼滤波算法的神经网络训练】BP神经网络、扩展卡尔曼滤波EKF+BP
    ......
  • 使用WIN7 CMD 时出现了“The system cannot write to the specified device”
    使用WIN7CMD时出现了“Thesystemcannotwritetothespecifieddevice”(1)输入chcp可以查看cmd的编码(2)常见编码编号:65001:utf-820936:GB2312936:GBK437:美国英语(3)修改cmd的编码:chcpXXXX(编码编号) 1、右键点击Bat批处理,选择编辑,然后打开,重新另存为编码选择ANSI......
  • http.sys 是 IIS 的底层组件,负责高效、安全地处理 HTTP 请求,而 IIS 则提供了更高层次
    IIS(InternetInformationServices)和http.sys是MicrosoftWindows操作系统中的两个相关组件,它们一起工作来处理和管理HTTP请求。以下是它们的关系和功能:IIS:Web服务器:IIS是Microsoft的Web服务器软件,提供了用于托管和管理Web应用程序的功能,包括网站、应用程序......
  • System has not been booted with systemd as init system (PID 1). Can't operate on
    昨天为了安装mariadb,不小心可能安装了sysinit的东西,在启动gogs服务时报了这个错'Systemhasnotbeenbootedwithsystemdasinitsystem(PID1).Can'toperate'找到了解决方案:我的理解是这样的linux系统大致有两种管理服务的方式,一种是sysinit一种是systemctl ......
  • Lazysysadmin靶机笔记
    Lazysysadmin靶机笔记概述lazysysadmin是一台Vulnhub靶机,整体比较简单,要对一些存在服务弱口令比较敏感。靶机地址:https://pan.baidu.com/s/19nBjhMpGkdBDBFSnMEDfOg?pwd=heyj提取码:heyj一、nmap扫描1、主机发现#-sn只做ping扫描,不做端口扫描sudonmap-sn192.168.247.1......
  • Synopsys时序约束(一、时序简介)
    SynopsysTimingConstraintsandOptimizationUserGuide学习笔记一、综合时序简介目录一、综合时序简介静态时序分析StaticTimingAnalysis时序路径TimingPaths时钟Clocks输入输出延迟InputandOutputDelays延迟计算DelayCalculation触发器和锁存器时序检查Flip-Flo......
  • System to practice
    1、Linux中哪个系统调用可以用于设置一个定时器,当时间到时,发送一个信号给进程?(B)a)setitimer()b)alarm()c)timer_create()d)time()tips:timer_create()是一个用于创建定时器的系统调用函数,定义在POSIX标准中,属于Linux系统的时间管理功能。它用于创建一个定时器对象,并......