定时备份数据库到其他服务器

master数据库下创建存储过程

USE [master]
GO

/****** Object: StoredProcedure [dbo].[bakup_DataBase_Demo] Script Date: 01/07/2015 10:01:09 ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

--Full BackUp --Use Master
create proc [dbo].[bakup_DataBase_Demo] as
Declare @strPsw varchar(50)=‘******‘/*目标服务器的登录密码*/
Declare @strUsr varchar(50)=‘Administrator‘ /*目标服务器的登录用户*/
Declare @strCmdShell varchar(300) /*连接目标服务器的命令*/
Declare @strDataBaseName varchar(200)=‘Demo‘ /*操作数据库名称,也可以是数据库的别名*/
Declare @FullFileName Varchar(200)=‘Y:\11\‘ /*备份数据库的本地路径*/
Declare @FileFlag varchar(50) --备份的文件命名规则:日期-小时.bak
Declare @ToFileName varchar(200)=‘\\192.168.0.8\G$\222222\‘ /*目标服务器备份数据库的本地路径*/
Declare @SQLCopy varchar(500)
Declare @SQLDel varchar(500) --删除历史备份语句

declare @staydays int=15 /*保留多少天的备份记录,默认保留15天*/
Declare @DeleteFileName varchar(500) /*备份之时要删除的早期备份文件名称*/
Set @FileFlag=replace(convert(char(13),getdate(),20),‘ ‘,‘-‘) --备份的文件命名规则:日期-时间.bak
Set @strCmdShell= ‘net use \\192.168.0.8\c$ ‘ + @strPsw + ‘ /user:‘ [email protected] --需填写IP(目标机器的IP地址,如:192.168.0.8)
Set @DeleteFileName=replace(convert(char(13),DATEADD(day,[email protected], getdate()),20),‘ ‘,‘-‘)[email protected]+‘.BAK‘--历史文件名称
Set @SQLDel=‘del ‘ [email protected][email protected]+‘ del ‘[email protected][email protected] --删除历史备份语句
Set @[email protected][email protected]+‘.BAK‘--需填写本地备份临时文件的目录,因为需要先备份到本地再copy到目标机器(如:保存目录为E:\SoondyTest\)
Set @SQLCopy=‘copy ‘[email protected]+‘ ‘[email protected] /*拷贝到目标机器的命令*/
BackUp DataBase @strDataBaseName To Disk= @FullFileName with init /*备份数据库*/
exec master..xp_cmdshell @strCmdShell--尝试连接到目标机器
exec Master..xp_cmdshell @SQLCopy --拷贝到目标机器上
exec master.. xp_cmdshell @SQLDel--删除本地和服务器的备份临时文件 GO

GO

时间: 2024-08-26 06:58:19

定时备份数据库到其他服务器的相关文章

SqlServer定时备份数据库和定时杀死数据库死锁解决

PS:Sqlserver 2008 R2,windows 8 64位 1.备份数据库 因为要备份,我们就要用到Sqlserver的代理,默认数据库的代理是不开启的.需要我们手动开启的. 执行备份数据库脚本,现在将脚本公布,其实将这一段代码中需要保存的文件路径和数据库名称替换一下就可以实现备份了.但是还没有达到定时备份的目的 ? 1 2 3 4 5 6 7 8 9 10 11 --自动备份并保存最近5天的SQL数据库作业脚本 宋彪 20130310 DECLARE @filename VARCHA

linux利用crontab执行sqldump 定时备份数据库

linux利用crontab执行sqldump 定时备份数据库 : #!/bin/bash var=`date +%Y%m%d` /usr/local/mysql/bin/mysqldump  --databases core|gzip >/apps/sqldump/bak/core${var}.gz /usr/local/mysql/bin/mysqldump  --databases access_service|gzip > /apps/sqldump/bak/access_servic

linux下mysql定时备份数据库

linux下mysql定时备份数据库 (2010-10-21 12:40:17) 转载▼ 标签: 杂谈   一.用命令实现备份 首页进入mysql的bin目录 1.备份数据#mysqldump -uusername -ppassword discuz > discuz_2010-04-01.sql 这样就把discuz数据库所有的表结构和数据备份到discuz_2010-04-01.sql里了,如果数据量大会占用很大空间,这时可以利用gzip压缩数据, 命令如下:#mysqldump -uuse

MySql 定时备份数据库

转载:MySql 定时备份数据库 每天零点备份一次数据库,备份文件放在指定目录(如果目录不存在则新建),按月存储: 将下面这段命令存储为一个 *.bat 文件,添加一个Windows任务计划程序(Task scheduler)指向这个文件,每天执行一次即可. rem ******Code Start*********** @echo off C: CD C:\Program Files\MySQL\MySQL Server 5.7\bin set "Y=%date:~10,4%" se

[转]mysql自动定时备份数据库的最佳方法-支持windows系统

网上有很多关于window下Mysql自动备份的方法,可是真的能用的也没有几个,有些说的还非常的复杂,难以操作. 我们都知道mssql本身就自带了计划任务可以用来自动备份,可是mysql咱们要怎么样自动有备份呢? 这个方法是用bat批处理来完成的. 假想环境:MySQL 安装位置:D:\Program Files\MySQL\MySQL Server 5.0\data 如图: 数据库名称为:952game数据库备份目的地:d:\db_bak\ (你想把数据库备份到哪个盘的路径)我想备到D盘的db

java 定时备份数据库

/** 操作数据库 */ public class BackupDb {     public String backup() throws IOException{      String user = "root"; //数据库的用户名      String password = "admin";//数据库的密码       String database = "hrtweb";//要备份的数据库名       Date date = ne

windows下mysql定时备份数据库几种方法

第一种:新建批处理文件 backup.dat 代码如下: net stop mysqlxcopy "C:/Program Files/MySQL/MySQL Server 5.0/data/piaoyi/*.*" D:/db_backup/%date:~0,10%/ /ynet start mysql 注意:批处理命令中路径里有空格的话,必须在路径上加上双引号!然后使用Windows的"计划任务"定时执行该批处理脚本即可.(例如:每天凌晨3点执行backup.bat

MSSQLSERVER数据库- 作业调度定时备份数据库

作业调度和备份数据库是常见的行为,掌握这两项技术我觉的非常有必要. 在网上找到这个示例,记录在这里 备份数据库的SQL语句 --自动备份并保存最近5天的SQL数据库作业脚本 DECLARE @filename VARCHAR(255) DECLARE @date DATETIME SELECT @date=GETDATE() SELECT @filename = 'G:\存放位置\数据库名称-'+CAST(DATEPART(yyyy,@date) as varchar)+'-'+CAST(DAT

spring boot 定时备份数据库

第一步 :添加mysqldump.exe 进环境变量 第二步  新建一个spring boot 项目,连接数据库 spring.datasource.url=jdbc:mysql://localhost:3308/springbootdb?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true spring.datasource.username=root spring.datasource.password=mysql