数据库同时备份到两台服务器上(并自动删除过期文件)

举例 :(本地)服务器A: IP :192.168.1.1

(远程)服务器B: IP :192.168.1.2

数据库版本:SqlServer2008R2

一.   两台服务器分别创建共享文件夹(能互相访问,同属一个局域网)

A: E: IWFSBACKUP(文件夹)

B: E: IWFSBACKUP(文件夹)

二.   在master数据库下建立存储过程 dbo.iwfsbackup

USE [master]

GO

/****** Object: StoredProcedure [dbo].[iwfsbackup] Script Date: 07/17/2018 09:57:27 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE proc [dbo].[iwfsbackup]

as

Declare @strPsw varchar(50)

Declare @strUsr varchar(50)

Declare @strCmdShell varchar(300)

Declare @strDataBaseName varchar(20)

Declare @FullFileName Varchar(200)

Declare @FullFileName1 Varchar(200)

Declare @FullFileName2 Varchar(200)

Declare @FileFlag varchar(50)

Declare @FileFlag2 varchar(50)

DECLARE @FileFlag3 varchar(50)

Declare @ToFileName varchar(200)

Declare @SQLStr varchar(500)

Declare @SQLStr2 varchar(500)

Declare @SQLStr3 varchar(500)

Declare @FlagDel varchar(20)

--定义备份的数据库名称

Set @strDataBaseName='db_iwfs'

--定义本地备份文件的名称

Set @FileFlag=@strDataBaseName + '_db_' + replace(convert(char(20),getdate(),112),' ','')

--定义本地3天前的备份文件名称

Set @FileFlag3=@strDataBaseName + '_db_' + replace(convert(char(20),getdate()-3,112),' ','')

--定义远程服务器3天前的备份文件名称

Set @FileFlag2=@strDataBaseName + '_db_' + replace(convert(char(20),getdate()-3,112),' ','')

--设置远程服务器的登录域和用户名

Set @strUsr='B\administrator'

--设置远程服务器登录密码

Set @strPsw=''

--设置远程服务器连接

Set @strCmdShell= 'net use \\192.168.1.2\e$ ' + @strPsw + ' /user:' +@strUsr

--设置本地备份文件名称

Set @FullFileName='E:\IWFSBACKUP\'+@FileFlag+'.BAK'

--设置本地3天前的备份文件名称

set @FullFileName1='E:\IWFSBACKUP\'+@FileFlag3+'.BAK'

--设置远程服务器3天前的备份文件名称

set @FullFileName2='\\192.168.1.2\e$\IWFSBACKUP\'+@FileFlag2+'.BAK'

--设置远程服务器保存备份文件目录

Set @ToFileName='\\192.168.1.2\e$\IWFSBACKUP\'

--设置为True时,即删除备份,设置为False时,即不删除备份文件

Set @FlagDel='True'

--设置从本地复制备份文件至远程服务器的语句

Set @SQLStr='copy '+@FullFileName+' '+@ToFileName

--设置删除本地3天前的备份文件

Set @SQLStr2='del ' +@FullFileName1

--设置删除远程服务器3天前的备份文件

Set @SQLStr3='del ' +@FullFileName2

--备份EliteUC数据库

BackUp DataBase @strDataBaseName To Disk= @FullFileName with init

--连接远程服务器

exec master..xp_cmdshell @strCmdShell

--复制备份文件至远程服务器

exec Master..xp_cmdshell @SQLStr

--删除3天前本地的备份文件

if (@FlagDel ='True')

exec master.. xp_cmdshell @SQLStr2

--删除3天前远程服务器备份文件

if (@FlagDel ='True')

exec master.. xp_cmdshell @SQLStr3

--作业调用该存储过程

execute master.dbo.iwfsbackup

--DOS拷贝文件到别的服务器

copy E:\IWFS\.txt \\192.168.1.2\IWFSBACKUP

三.   新建SqlServer作业,调用存储过程,执行备份作业

1.新建作业

2.新建步骤

3.新建计划

若执行存储过程报错:execute master.dbo.iwfsbackup

“消息 15281,级别 16,状态 1,过程 xp_cmdshell,第 1 行

SQL  Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell'  的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用

'xp_cmdshell'。有关启用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器". ”

解决办法:

在master 数据库下执行以下语句:

sp_configure 'show advanced options',1

reconfigure

go

sp_configure 'xp_cmdshell',1

reconfigure

go

SQL Server2005 两台服务器上的数据库互相同步(转载)

1.1测试环境 Item 发布机 A 订阅机 B OS Windows 2003 Server Windows 2003 Server SQL SQL Server 2005 企业版 SQL Serv ...

SQL Server2005 两台服务器上的数据库同步(转载)

1.1测试环境 Item 发布机 A 订阅机 B OS Windows 2003 Server Windows 2003 Server SQL SQL Server 2005 企业版 SQL Serv ...

rsync 实现文件同步 (重要数据通过rsyncr把数据同步到不同的两台服务器上,这样可以防止服务器的硬盘故障导致数据丢失) 客户端同步时如果要排某个目录

rsync是unix系统下的数据镜像 备份工具,一般linux系统都 自带: # rpm -qa|grep rsync rsync-3.0.9-17.el7.x86_64 服务器端:10.100.0. ...

Linux两台服务器上互传文件

主服务器:192.168.100.30: 文件所在服务器:192.168.100.31: 1. 在主服务上拷贝文件: #scp root@192.168.100.31:/home/a.txt /hom ...

SQLServer自动备份和自动删除过期文件

以下为转载的文章: 点击下一步: 自定义名称和说明,点击更改: 点击确定,下一步 1.备份: 选择备份,下一步,再下一步,选择需要备份的数据库: 选择备份文件存放的路径: 点击下一步,选择系统产生的报 ...

记sql server 2008R2 两台服务器 使用非默认端口的发布订阅

最近研究数据库的复制.因为要在两台服务器上,当使用数据库的默认1433端口时,订阅发布没有任何问题,考虑到数据库的安全性问题,需要改用其他端口.这里以10010为例. 有A.B两台服务器:A作为发布服 ...

mysql 忘记密码,赋予用户权限,两台服务器的数据库之间快速导入

mysql 忘记密码: 1.首先service mysql stop mysqld --skip-grant-tables &  开启数据库 然后就可以mysql -uroot 直接进数据库, ...

如何在一台服务器上安装两个mysql或者更多

如何在一台服务器上安装两个mysql 1       前言 上篇写了在一台机器上源码编译安装一个mysql,那么如何在一台机器上源码编译安装两个mysql或者更多呢? 2       环境 mysql ...

mysql数据库从一台服务器迁移到另一台服务器上

一.应用场景      由于要把测试服务器上的数据库迁移到正式服务器上,因此需要做数据库的迁移.这里记录一下. 二.数据库迁移1.新建数据库test create database test;12.进 ...

随机推荐

Github入门(一)

之前早就听说过Git的大名,但由于合作项目时的团体都非常小,所以一直没有开始系统的学习和使用(其实就是懒!),最近终于有动力开始进行入门的学习. 首先介绍一下自学用书:https://git-scm. ...

iOS开发中的错误整理,(百思项目,指示器位置)设置控件尺寸和点坐标,先设置尺寸,再设置点坐标

之前对控件的尺寸和点的坐标的设置从来都是想到什么写什么,从来没有关心过顺序.然后就有了这次的血的教训!!!!! 下面是错误的截图,先设置的中心点,然后设置的宽度.程序运行就这样了,点别的没有毛病!!! ...

Extjs关于FormPanel布局

Extjs关于FormPanel布局 FormPanel有两种布局:form和column,form是纵向布局,column为横向布局.默认为后者.使用layout属性定义布局类型.对于一个复杂的布局 ...

GetSurfaceLevel

if( SUCCEEDED( g_pTexture->GetSurfaceLevel( 0, &pSurface) ) )    {        pd3dDevice->Se ...

Linux内核源代码情景分析系列

http://blog.sina.com.cn/s/blog_6b94d5680101vfqv.html Linux内核源代码情景分析---第五章 文件系统  5.1 概述 构成一个操作系统最重要的就 ...

《Unbroken》

献给正在奋力向前的你 You can’t connect the dots looking forward, you can only connect them lo ...

005 使用SpringMVC开发restful API三--处理创建请求

一:主要任务 1.说明 @RequestBody 映射请求体到java方法的参数 日期类型参数的处理 @Valid注解 BindingResult验证请求参数的合法性并处理校验结果 二:@Reques ...

[c++]base64编解码 and image

//½«Í¼ÏñתΪbase64¸ñʽ vector vecImg; //Mat ͼƬÊý¾Ýת»»Îªvector vector&lt ...

javascript基础拾遗(十三)

1.jQuery的特点 jQuery是目前非常流行的javascript库,理念是"Write Less,Do More" 1)消除浏览器差异 2)简洁的操作DOM方法 3)轻松实 ...

数据库如何删除服务器文件,SqlServer数据库同时备份到两台服务器上(并自动删除过期文件)...相关推荐

  1. nginx负载均衡两台服务器文件,Nginx之负载均衡 :两台服务器均衡(填坑)

    第一步,两台服务器都要安装好Nginx和Tomcat,我这边的安装的是Nginx 1.16.1 Tomcat9: 第二步,安装完成之后,选择你要做均衡的那台服务器,,打开其Nginx 配置文件,在se ...

  2. 两台电脑上zotero+坚果云同步文件夹混乱的问题

    两台电脑上zotero+坚果云同步文件夹混乱的问题 问题背景 解决思路 具体操作 问题背景 需要在两台电脑上使用zotero+坚果云同步的方案,由于第一次设置经验不足,出现了同步文件夹混乱的情况,提示 ...

  3. mysql两台服务器怎么做数据同步_让两台服务器的MySQL数据同步(互为主从关系)...

    网上找的大部分定义master-host的其实在新的MySQL中已经停用了,于是乎很悲剧的自己探索写出了这么一个东西 RedHat版本7.0 MySQL版本 5.7 服务器名称为假的!!! 服务器A: ...

  4. 两台服务器之间数据库同步

    SyncNavigator是一款功能强大的数据库同步软件,适用于SQL SERVER, MySQL,具有自动/定时同步数据.无人值守.故障自动恢复.同构/异构数据库同步.断点续传和增量同步等功能,支持 ...

  5. redis和sqlserver数据同步_SQLServer数据库之redis数据库的数据导入到SQLServer数据库中...

    本文主要向大家介绍了SQLServer数据库之redis数据库的数据导入到SQLServer数据库中,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. #!/usr/bin/ ...

  6. jsp连接sqlServer数据库教程、jsp连接sqlServer数据库报ClassNotFoundException异常

    jsp连接sqlServer数据库教程.jsp连接sqlServer数据库报ClassNotFoundException异常 参考文章: (1)jsp连接sqlServer数据库教程.jsp连接sql ...

  7. 两台服务器的主从数据库实时同步

    首先要注意的是,两台服务器要是一样的centos版本,一样的MySQL版本,一样的数据库配置,一样的数据库: Linux版本 数据库版本 数据库 IP Centos 7 测试机-->(1) 5. ...

  8. 两台服务器双向同步文件,远程同步文件 两台服务器上

    远程同步文件 两台服务器上 内容精选 换一换 将文件上传至Windows云服务器一般会采用MSTSC远程桌面连接的方式.本节为您介绍本地Windows计算机通过远程桌面连接,上传文件至Windows云 ...

  9. xcopy两台服务器之间复制文件,无效驱动器规格

    在同一个局域网内两台服务器上复制图片文件,脚本文件如下: @echo off net use \\10.8.20.200\ipc$ test /user:Administrator xcopy \\1 ...

  10. linux服务器拷贝目录文件夹,linux两台服务器之间文件/文件夹拷贝

    linux两台服务器之间文件/文件夹拷贝 跨服务器拷贝需要用到的命令是scp. ----------------------拷贝文件夹--------------------------------- ...

最新文章

  1. 金融领域首个开源中文BERT预训练模型,熵简科技推出FinBERT 1.0
  2. 关于Android Service真正的完全详解,你需要知道的一切
  3. mysql 操作类 C .net_.NET MYSQL数据库操作基类( C#源码)
  4. jquery改变字符串中部分字符的颜色
  5. Visual Studio 2008中的jQuery Intellisense
  6. 什么是线程单线程和多线程_什么是多线程?看我多线程七十二变,你能记住吗?...
  7. 命名空间:不只是代码封装
  8. Word 模板引擎 poi-tl
  9. mysql分布式数据库_分布式数据库搭建详细教程
  10. 基于28181协议的视频与平台的对接
  11. 编码 GBK 的不可映射字符 (0x81)
  12. java中jmod是什么,modulo - j中mod的语法是什么
  13. 如何发送工资条通知短信
  14. 经典的期货量化交易策略大全(含源代码)
  15. Androd studio + MUMU模拟器
  16. 手写数字识别问题实战
  17. Precision, Recall, BLEU and ROUGE
  18. 墨者Bash漏洞分析溯源题解
  19. JQuery之常用插件
  20. 典型的智能工业物联网关BL102常见问题答疑

热门文章

  1. Linux命令之杀掉被占用的端口号
  2. 如何解决遇到的The server time zone value ‘?й???????‘ is unrecognized or represents more than one time zone
  3. 天牛须和贪心算法_天牛须算法
  4. OUC2021秋-数值分析-期末(回忆版)
  5. Low-poly低面建模(低像素多边形)
  6. Python函数及参数
  7. windows xp sp3
  8. 一位16年老员工的反思:什么才是真正的执行力?
  9. 微信开发工具ts和js文件冲突
  10. DP转HDMI方案|CS5216方案应用|CS5216设计方案