-----sqlserver 数据异地备份   默认删除 七天前的数据
-----该代码可配置成SQLServer作业里做调度,或者配置成任务计划进行执行
----挂载异地盘符
exec master..xp_cmdshell
'net use w: "\\172.16.30.34\D$" "726" "/user:172.16.30.34\administrator"', no_output
/*--说明:
w: 是映射网络路径对应本机的盘符,与下面的备份对应
\\172.16.30.34\D$ 是要映射的网络路径
172.16.30.34\administrator
172.16.30.34是远程的计算机名,administrator是登陆的用户名
726 上面指定的administrator用户的密码
--*/
go go -----用游标:
declare @s nvarchar(200),@del nvarchar(200)
select @s='',@del='' declare datebak cursor for
select
[bak]='backup database '+quotename(Name)+' to disk =''w:'+Name+'_'+convert(varchar(8),getdate(),112)+'.bak'' with init',
-----自动删除七天前的备份文件
[del]='exec master..xp_cmdshell '' del w:'+Name+'_'+convert(varchar(8),getdate()-7,112)+'.bak'', no_output'
from master..sysdatabases where dbid=37 --这里查询出需要备份的数据库,可以一次性备份多个数据库
open datebak fetch next from datebak into @s,@del
while @@fetch_status=0
begin
----对于要删除的备份文件进行一场捕获(解决第一次部分的时候,执行失败的情况)
begin try
exec (@del)
end try
begin catch
if @@TRANCOUNT >0
BEGIN
print @del
END
end catch
exec(@s)
fetch next from datebak into @s,@del
end
close datebak
deallocate datebak
go
--删除映射
exec master..xp_cmdshell 'net use w: /delete' go
  

SqlServer 自动备份、自动删除7天前备份的更多相关文章

  1. shell 自动删除n天前备份

    Linux自动删除n天前备份Linux是一个很能自动产生文件的系统,日志.邮件.备份等.因此需要设置让系统定时清理一些不需要的文件.语句写法:     find 对应目录 -mtime +天数 -na ...

  2. oracle定时备份与删除N天前备份文件

    oracle定时备份数据库,以及删除7天前备份的数据. 1.创建存放备份目录: mkdir /home/oracle/data_backup mkdir /home/oracle/log_backup ...

  3. liunx定时备份mongo数据库并实现自动删除N天前备份

    1.脚本文件: #!/bin/sh # dump 命令执行路径,根据mongodb安装路径而定 #!/bin/sh # dump 命令执行路径,根据mongodb安装路径而定 /bin/mongodu ...

  4. [Irving] SQL 2005/SQL 2008 备份数据库并自动删除N天前备份的脚本

    以下为SQL脚本,本人以执行计划来调用,所以改成了执行命令,大家可根据自己需要改为存储过程使用 )='E:\MsBackUp\SqlAutoBackup\' --备份路径; --备份类型为全备,1为差 ...

  5. 在Oracle中实现每日表备份并删除7天前的备份表

    不用闪回技术,因为业务想眼睁睁的看到备份表,而不是让DBA搞一通之后,才能看到备份数据表 OK,那好办了,写个存储过程解决你的需求,每天建个新表,把数据备份进去,业务人员可以看到这些每天的备份表 然后 ...

  6. Window bat expdp 定时任务逻辑备份 定时删除N天前的旧文件

    点击进入:Linux shell crontab expdp 定时任务逻辑备份 定时删除旧文件 首先建一个备份数据库用批处理文件,内容如下: rem expdp sz set sz_file=SZ_% ...

  7. Linux自动删除n天前备份

    Linux是一个很能自动产生文件的系统,日志.邮件.备份等.因此需要设置让系统定时清理一些不需要的文件. 语句写法: find 对应目录 -mtime +天数 -name "文件名" ...

  8. crontab自动备份MySQL数据库并删除5天前备份

    1.创建备份文件夹 //备份数据库文件夹 mkdir /data/backmysql //crontab日志 mkdir /data/logs   2.创建脚本文件 db_user="xxx ...

  9. Linux shell crontab expdp 定时任务逻辑备份 定时删除旧文件

    点击进入:Window bat expdp 定时任务逻辑备份 定时删除N天前的旧文件 创建sh脚本 [oracle@localhost ~]$ vi logicbackup.sh 添加脚本内容 #!/ ...

随机推荐

  1. Linux UDP严重丢包问题的解决

    测试系统在Linux上的性能发现丢包率极为严重,发210000条数据,丢包达110000之巨,丢包率超过50%.同等情形下Windows上测试,仅丢几条数据.形势严峻,必须解决.考虑可能是因为协议栈B ...

  2. 使用多线程完成Socket

    public class Service { //服务器 public static void main(String[] args) { ServerSocket serverSocket=null ...

  3. DataGrid 使用模型列后实现点击列名称排序

    DataGrid 使用模型列后实现点击列名称排序 代码如下: <DataGridTemplateColumn Header="型 号" SortMemberPath=&quo ...

  4. Regex.Escape

    C# 字符串变量str 的值为"a\nb"如果直接输出显示的话,就成了:ab需要输出显示为:a\nb问,怎么办?千万别告诉我定义: str=@"a\nb",因为 ...

  5. ORA-16014: 日志 1 的序列号 242 未归档, 没有可用的目的地

    SQL> alter database open; *第 1 行出现错误:ORA-16014: 日志 1 的序列号 242 未归档, 没有可用的目的地ORA-00312: 联机日志 1 线程 1 ...

  6. Swift - 34 - 闭包的基础语法

    //: Playground - noun: a place where people can play import UIKit // 初始化一个整数数组 var arr = [1, 3, 5, 7 ...

  7. access 2007 vba 开发中学到的知识(二)

    文件的导入和导出 excel 'excel导入Private Sub btnInExcel_Click() Dim strSelectFile As StringWith Application.Fi ...

  8. 以下是jQuery和JavaScript实现相同操作的等价代码。

    选择元素  Javascript代码 1.// jQuery   2.var els = $('.el');   3.  4.// 原生方法   5.var els = document.queryS ...

  9. javascript 广告移动特效

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  10. 武汉科技大学ACM :1006: A+B for Input-Output Practice (VI)

    Problem Description Your task is to calculate the sum of some integers. Input Input contains multipl ...