整个备份的流程是这样的:首先,编写一个备份的存储过程,通过创建计划任务调用sqlcmd执行备份;随后使用rar命令行压缩文件,最后借助FlashFXP计划任务上传至异地数据中心。
1、创建存储过程
目前我是写死了需要备份的库,也没有写重建索引等相关脚本。后期慢慢再补充
USE [court_juror]
GO
/****** Object: StoredProcedure [dbo].[my_backup] Script Date: 2020/6/29 22:04:04 ******/
DROP PROCEDURE [dbo].[my_backup]
GO
/****** Object: StoredProcedure [dbo].[my_backup] Script Date: 2020/6/29 22:04:04 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <kkkkkk>
-- Create date: <2020.5.15>
-- Description: <备份策略>
-- =============================================
CREATE PROCEDURE [dbo].[my_backup]
--备份类型(wz、cy、log、yd)
@backup_type varchar(50),
--备份路径只需要填写盘符:C、D、E等。。。
@my_path varchar(50)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
--将数据库设置成完整模式
ALTER DATABASE court_juror SET RECOVERY FULL;
DECLARE @dateTime VARCHAR(20) --日期时间
set @dateTime =REPLACE(REPLACE(CONVERT(VARCHAR, GETDATE(),120),' ','-'),':','-')
DECLARE @sqlCommand NVARCHAR(1000) --命令名称
--删除过期的备份文件
DECLARE @oldDate DATETIME --时间
SET @oldDate = GETDATE()-14 --30天前的时间
Declare @path varchar(