【Sql Server】实现数据库定时自动备份详细一步步操作(图文)

一、新建数据库(如:数据库定时备份)

 二、新建存储过程,代码如下,注意3个地方需要改数据库名称

USE [数据库定时备份]
GO
/****** Object:  StoredProcedure [dbo].[定时备份_Huji]    Script Date: 10/03/2022 17:33:40 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO



--Alter PROCEDURE [dbo].[类_定时备份]  
ALTER PROCEDURE [dbo].[定时备份_Huji]
		@bak_path varchar(30) = 'D:\sql定时备份'       -- 表名称

As
BEGIN
	SET NOCOUNT ON;


declare @bak_path_bf varchar(150) = 'D:\sql定时备份\Huji_'+convert(varchar(10),getdate(),120)+'_'+DateName(hour,GetDate()) +'_'+DateName(minute,GetDate()) +'_'+DateName(second,GetDate())+'.bak'       -- 表名称
BACKUP DATABASE Huji TO DISK = @bak_path_bf


	--declare @bak_path nvarchar(4000)
	set @bak_path ='D:\sql定时备份\'       --备份路径;
    declare @baktype int 
    set @baktype = 0               --备份类型为全备,1为差异备,2为日志备份

    declare @type int 
    set @type = 3                  --设置需要备份的库,0为全部库,1为系统库,2为全部用户库,3为指定库,4为排除指定库;
    declare @dbnames nvarchar(4000)
    set @dbnames ='Huji'        --需要备份或排除的数据库,用,隔开,当@type=3或时生效
    declare @overdueDay int 
    set @overdueDay = 1            --设置过期天数,默认天;
    declare @compression int 
    set @compression =0               --是否采用sql2008的压缩备份,0为否,1为采用压缩


-- ========================================================= 【删除过期数据库】

	begin try

       declare @d varchar(100)
       set @d=convert(varchar,dateadd(day,-1,getdate()),120);  -- [-30 是删除之前的天数]
       EXECUTE master.dbo.xp_delete_file 0,N'D:\sql定时备份\',N'bak',@d;    -- [修改(2)]

	end try
	begin catch
	end catch

--declare @cmd varchar (1024)
--SET @Cmd=('master.dbo.xp_cmdshell '+'''xcopy \\Win-r85nangi77s\新建文件夹\CityCardAdmin_'+convert(varchar(10),getdate(),120)+'_'+DateName(hour,DATEADD(hour,-1,GETDATE())) +'.bak'+' D:\三联数据库 '+''+' /y/s'+'''')
--EXEC (@Cmd) 

END

三、右击,新建作业

 1、常规

名称:定时备份(每天12.30)

说明:每天12.30备份一次

 2、步骤

步骤名称:定时运行备份脚

代码:

USE [数据库定时备份]
GO

DECLARE	@return_value_1 int

EXEC	@return_value_1 = [dbo].[定时备份_Huji]

SELECT	'Return Value' = @return_value_1

GO

DECLARE	@return_value_2 int

EXEC	@return_value_2 = [dbo].[定时备份_mvc]

SELECT	'Return Value' = @return_value_2

GO

3、计划

 名称:每天12.30

  • 3
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

敦厚的曹操

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值