backup4:数据库自动备份,自动删除备份文件

一:手写TSQL 脚本

1,自动备份

每周进行一次Database 的 Full Backup,设置 Schedule Interval 为Weekly

use master
go 

declare @FileName nvarchar(256)
set @FileName = N‘D:\SQLBackupFolder\TestDB_FullBackup_‘+CONVERT(nvarchar(max),getdate(),112)+N‘.bak‘
BACKUP DATABASE [TESTDB]
TO  DISK = @FileName
WITH
    Compression
    ,INIT
    ,SKIP
    ,Format
GO

每天进行一次Database的 Differential Backup,设置Schedule Interval 为Daily

use master
go 

declare @FileName nvarchar(256)
set @FileName = N‘D:\SQLBackupFolder\TestDB_DiffBackup_‘+CONVERT(nvarchar(max),getdate(),112)+N‘.bak‘
BACKUP DATABASE [TESTDB]
TO  DISK = @FileName
WITH
    Differential
    ,Compression
    ,INIT
    ,SKIP
    ,Format
GO

2,自动删除备份文件

数据库的备份保留4周,28天,将早于28天前的数据库备份删除,每周执行一次,设置Schedule Interval为Weekly

DECLARE @ExpireDate  DATETIME
SET @ExpireDate=dateadd(day,-28,GETDATE());

DECLARE @SearchFolder nvarchar(100)
SET @SearchFolder=N‘D:\SQLBackupFolder‘;

EXECUTE master.dbo.xp_delete_file 0,@SearchFolder,N‘bak‘,@ExpireDate,1;

xp_delete_file 能够删除标准的bak文件,(RESTORE HEADERONLY可以返回数据的),不能删除普通文件。

二,使用维护计划(Maintenance Plan)

1,使用Backup Database Task 对数据库进行Full Backup 和 Differential Backup

  • Backup Type:选择Full 进行完整备份,选择Differential进行差异备份。
  • Database(s):选择进行备份的数据库
  • Backup Component:选择Database,对数据库进行备份
  • 勾选“Create a sub-directory for each database”,在Folder中设置backup devices存储的Floder,在Backup file extension中指定backup file的扩展名
  • 在 Set Backup Compression中选择Compress Backup,对backup进行压缩。

2,使用Maintenance Cleanup Task,将备份文件删除

在Delete files of the following type 中选择Backup files

在Search folder and delete files based on an extension 设置Folder(Backup files存储的folder),File Extension(backup files的扩展名),勾选 “Include first-level subfolders",

File Age:设置被删除的backup files的创建时间

例如,该Task 会将位于 D:\TestBackupFolder\TestDB 下,创建时间早于4周前的 xxxxx.bak 删除。

三,使用SSIS Task来实现,Maintenance Plan 实际上也是通过SSIS Task 来实现的

在Other Tasks Catalog下,存在Backup Database Task 和 Maintenance Cleanup Task,设置和Maintenace Plan相同。

时间: 2024-10-10 07:36:01

backup4:数据库自动备份,自动删除备份文件的相关文章

SQL SERVER 设置自动备份和删除旧的数据库文件

打开SQL SERVER MANAGEMENT STUDIO,启动SQL SERVER代理服务(注意在“控制面板-管理工具-服务”中设置SQL SERVER AGENT的启动类型为自动).启动后点击“作业-新建作业”,弹出一个作业属性的窗口,在“常规”栏目里可以先给作业命名,假设为“备份数据”. 一.备份数据的第一个步骤--“备份当日数据” 在“步骤”栏目里新建一个步骤名为“备份当日数据”,类型为“T-SQL”,数据库选择你要操作的数据库(假设为“TESTDB”),命令窗口里填入备份的SQL语句

SQL SERVER 2008 R2 自动备份并删除过期备份数据

    我们的系统维护的过程中肯定需要对数据库进行定期的备份,但是如果定时手工备份的话,不但浪费时间,也不能保证每次都可以按时备份,所以自动备份成为了我们的不二选择,但是定时备份需要定期清理备份文件,不然会因为磁盘空间不足导致备份失败,失去备份的准确性,下面我们就一步步来看一下如果自动备份并删除过期备份数据. 1.打开SQL SERVER 2008 R2,连上数据库,右键选择[管理]-[维护计划]-[维护计划向导]. 2. 在名称中为维护计划取一个通俗易懂的名字,例如"EveryDayBak&q

SQL_Server2005自动备份与删除—维护计划

业务背景: 为了方便客户及时自动更新SAP库里面的数据与减少磁盘的空间.所以要在SQL对数据进行自动备份与删除备份.这样可以更加方便管理员的管理,和减少管理员的工作量. 解决思路: 在2005 SQL环境下,进行创建自动备份与自动删除. 解决方案: 1.点击”管理”->选中”维护计划”->右键点击->选中”新建维护计划(N)”;如下两图: 2.点击”新建维护计划”之后弹出如下图的对话框,给维护名称起名字;再点击”确定”,如下图: 3.从左下边工具箱中拖出”备份数据库任务” 到右边的空白处

MySql自动备份,自动压缩,自动删除历史

@echo on rem version 1.0 rem ----数据库自动备份 by:[email protected] - 2016-09-14 ---山东合力达--- rem 如果没有mysql的设置环境变量,则需要先将dos指定到mysql的安装目录 rem cd E:\程序安装包\MYSql\mysql-5.6.24-winx64.1432007928\mysql-5.6.24-winx64\bin rem 删除n天之前的数据? set nDay=30 rem 要备份的数据库名称[后面

centos下mysql数据库自动备份并删除N天前备份文件

1.创建bak_xx_mysql.sh文件 #!/bin/bash# Name:bak_xx_mysql.sh# XX数据库文件备份#db_user="root"db_passwd="root"db_name="db_name"#mysqldump 目录mysql_bin_dir="/alidata/server/mysql-5.6.21/bin/mysqldump"# 备份文件目录backup_dir="/alid

Oracle利用exp自动备份及删除旧备份

介于本人能力有限 此方法仅适用于数据量比较小的 数据量巨大的另寻他法 步骤一:编写bat批处理文件 echo 正在删除7天前的备分文件和日志... forfiles /p "D:\Backup\OracleAutoBackup" /m zywl_*.dmp /d -7 /c "cmd /c del @path" forfiles /p "D:\Backup\OracleAutoBackup" /m zywl_*.log /d -7 /c &quo

Linux下mysql数据库定期备份与删除

1.通过shell连接到服务器 ssh -l root -p 端口 ip 输入密码后,进入服务器 2.创建一个数据库备份数据存放的文件夹 mkdir /mysql/mysqldata_backup 3.创建并编辑文件 vi /usr/sbin/bakmysql 文件内容如下: fn = ` date +%Y%m%d`tar zcvf /mysql/mysqldata_backup/mysql$fn.tar.gz /mysql/data 或者 mysqldump -uroot -ppassword

远程linux服务器mysql数据库定期备份和删除

网上已经有部分关于Linux下定期备份mysql的方法,但是很多步骤不够详细,不适合新手,自己琢磨了很久,终于搞定了. 1.Linux服务器一般是ssh协议,如果本地也是Linux环境,可以直接通过shell连接,命令: ssh -l root -p 8080 202.***.***.*** 其中root为用户名,一般为root,8080为端口,202.***.***.***为服务器ip地址: 接下来会提示你输入密码,输入正确后即可进入服务器: 2.然后需要创建一个数据库备份数据存放的文件夹:

线上业务备份+定期删除备份文件+MD5加密

[[email protected] 192.168.1.20]# cat /server/scripts/beifen.sh #!/bin/shIP=$(ifconfig |awk -F '[ :]+' 'NR==2 {print $4}')Path="/backup/$IP"[ ! -d $Path ] && mkdir $Path -pMUBIAO="/app"#backuptar zcf $Path/www_$(date +%F).tar.g