源主机:192.168.0.100
 目的主机:192.168.0.200
1、映射的网络盘
@echo off
if exist z: net use z: /delete       
#如果存在已映射的网络盘则删除它
net use z: \\192.168.0.200\bak passwd /user:user\administrator
#映射网络盘,其中\\192.168.0.200\exbak是网络路径;passwd是密码,user\administrator是用户名(如果是域环境需要带域名,工作组则需加主机名)
if exist backup.log del backup.log
ipconfig backup.log
if not exist z: (goto Fail) else (goto ok)
:Fail
if exist C:\BackupScript\BackupUF_Day.sql del C:\BackupScript\BackupUf_Day.sql
#建立SQL备份文件
echo use master;  C:\BackupScript\BackupUf_Day.sql
echo go  C:\BackupScript\BackupUf_Day.sql
echo Backup database UFDATA_003_2009 C:\BackupScript\BackupUf_Day.sql
#备份数据库UFDATA_003_2009
echo to disk='d:\backup\UFDATA_003_2009_%date:~4,4%%date:~9,2%%date:~12,2%.bak'  C:\BackupScript\BackupUf_Day.sql
#设定数据库备份路径的保存路径。其中%date:~4,4%%date:~9,2%%date:~12,2%这个参数是取当天的日期,它的意思是从data命令显示出来的数据中从第四位取起连续取四位数据做为第一部份,后面的意思相同。
 
echo with init,nounload;  C:\BackupScript\BackupUf_Day.sql
echo go  C:\BackupScript\BackupUf_Day.sql
echo use master;  C:\BackupScript\BackupUf_Day.sql
echo go  C:\BackupScript\BackupUf_Day.sql
echo Backup database UFDATA_105_2009 C:\BackupScript\BackupUf_Day.sql
echo to disk='d:\backup\UFDATA_105_2008_%date:~4,4%%date:~9,2%%date:~12,2%.bak'  C:\BackupScript\BackupUf_Day.sql
echo with init,nounload;  C:\BackupScript\BackupUf_Day.sql
echo go  C:\BackupScript\BackupUf_Day.sql
echo use master;  C:\BackupScript\BackupUf_Day.sql
echo go  C:\BackupScript\BackupUf_Day.sql
echo Backup database UFDATA_110_2009 C:\BackupScript\BackupUf_Day.sql
echo to disk='d:\backup\UFDATA_110_2009_%date:~4,4%%date:~9,2%%date:~12,2%.bak'  C:\BackupScript\BackupUf_Day.sql
echo with init,nounload;  C:\BackupScript\BackupUf_Day.sql
echo go  C:\BackupScript\BackupUf_Day.sql
echo use master;  C:\BackupScript\BackupUf_Day.sql
echo go  C:\BackupScript\BackupUf_Day.sql
echo Backup database UFDATA_306_2009 C:\BackupScript\BackupUf_Day.sql
echo to disk='d:\backup\UFDATA_306_2009_%date:~4,4%%date:~9,2%%date:~12,2%.bak'  C:\BackupScript\BackupUf_Day.sql
echo with init,nounload;  C:\BackupScript\BackupUf_Day.sql
echo go  C:\BackupScript\BackupUf_Day.sql
"C:\PROGRA~1\Microsoft SQL Server\80\Tools\Binn\OSQL.exe" -S localhost -U sa -P -i C:\BackupScript\BackupUf_Day.sql -o C:\BackupScript\UF_%date:~4,4%%date:~9,2%%date:~12,2%.log
#调用MSDE安装路径下的命令来实现备份操作,注意参数的大小写。输出备份的状态到log文件中。
if not exist z:\UF mkdir z:\UF
echo %date%:%time%Backup of UFserver DataBase  backup.log
echo Waiting......   backup.log
set /a Days=%date:~4,4%%date:~9,2%%date:~12,2%
#使用/a参数可以实现对日期数据的运算
C:\BackupScript\forfiles_20.exe -pd:\backup\ -d-0 -mUF*_2009_%days%.bak -c"cmd /c copy @FILE z:\UF\"
#forfiles_20.exe表示是win2000下版本,它使用的要求比在winxp/win2003下严格,而且两个版本的文件不能通用;还需注意参数的大小写及间隔。该语句的意思是如果d:\backup\下有今天的UF*_2008_%days%.bak文件则copy到z:\UF\。
C:\BackupScript\forfiles_20.exe -pd:\backup\ -d-7 -mUF*_2008_*.bak -c"cmd /c del @FILE"
#删除d:\backup\下超过7天的文件
C:\BackupScript\forfiles_20.exe -pz:\UF\ -d-7 -mUF*_2008_*.bak -c"cmd /c del @FILE"
#删除网络上超过7天的文件
  
ntbackup backup C:\temp\ /j "Backup of PhoneCost DataBase" /f "d:\backup\Phone%days%.bkf" /m normal
方案二:  
1、  本地数据库服务器建立定期备份作业。
2、  备份主机上建批处理文件,并在此电脑上建立任务计划,执行批处理,设置备份周期和时间。
3、批处理参考
批处理文件(打开记事本,按下面格式录入DOS命令,保存为DBBACKUP.BAT。 格式:
xcopy \\数据服务器名\数据服务器共享的备份文件文件夹\库名.* 本机硬盘\*.* /m
举例:
XCOPY \\DbaseServ\backupdata\test.* d:\databackup\*.* /m
如果备份文件夹映射了网络驱动器(如F:,数据库备份文件是test),并且本机不作保留,就这样:
XCOPY F:\test.* d:\databackup\*.* /m
DEL /Q /A:A F:\test.*
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
方案三:
原理:通过FTP服务器备份。
使用如CuteFTP等软件开机自动运行。关键设置好备份计划。
方案四
写存储过程,自动定时执行此过程,映射备份主机目标,备份
--在sql中映射一下就可以了
exec master..xp_cmdshell 'net use z: \\host\D$ "密码" /user:user\administrator'
/*--说明:
exec master..xp_cmdshell 'net use z: \\host\c$ "密码" /user:user\administrator'
z:是映射网络路径对应本机的盘符,与下面的备份对应
\\host\c$是要映射的网络路径
user\administrator   host是远程的计算机名,
administrator是登陆的用户名
密码 面指定的administrator用户的密码
--*/
--备份;with init覆盖|noinit添加
backup database 库名 to disk='E:\BACKUP.bei' with init
--COPY
exec master..xp_cmdshell 'copy E:\BACKUP.bei z:'
--删除(这句可以去掉)
--exec master..xp_cmdshell 'del E:\BACKUP.bei'
--完成后删除映射
exec master..xp_cmdshell 'net use z: /delete'
方案五
使用DTS包,使用数据复制
 
方案六
使用发布数据库,数据库镜像同步技术
 
方案七
使用操作系统自带的备份软件定时备份或其它的第三方软件
 
 
附procedure :
create procedure MY_BACKUP
--EXAMPLE: EXEC My_BACKUP
AS
declare @sql varchar(3000)
set @sql='BACKUP DATABASE [suoyida] TO  DISK = N''D:\backup\suoyida_db_'+convert(varchar(8),getdate(),112)+left(replace(convert(varchar(14),getdate(),108),':',''),4)+'.BAK''' +' WITH  NOINIT ,  NOUNLOAD ,  NAME = N''suoyida 备份'',  NOSKIP ,  STATS = 10,  NOFORMAT '
print @sql
exec(@sql)

set @sql='BACKUP DATABASE [idcard] TO  DISK = N''D:\backup\idcard_db_'+convert(varchar(8),getdate(),112)+left(replace(convert(varchar(14),getdate(),108),':',''),4)+'.BAK''' +' WITH  NOINIT ,  NOUNLOAD ,  NAME = N''idcard 备份'',  NOSKIP ,  STATS = 10,  NOFORMAT '
print @sql
exec(@sql)
GO
exec My_backup

转载于:https://blog.51cto.com/dusong/141617

sql数据库自动备份相关推荐

  1. sql数据库自动增量备份_SQL自动增量

    sql数据库自动增量备份 Sometimes we don't have unique identifiers in the table to create a primary key. In thi ...

  2. 2012服务器自动备份,SQL SERVER 2012数据库自动备份的方法

    为了防止数据丢失,这里给大家介绍SQL SERVER2012数据自动备份的方法: 一.打开SQL SERVER 2012,如图所示: 服务器类型:数据库引擎: 服务器名称:127.0.0.1(本地), ...

  3. 【已解决】SQL Server2014数据库自动备份之作业

    SQL Server2014数据库自动备份之作业 1.SQL Server数据库自动备份可以有两种操作 第一种是在SQL控制台下的服务器名称展开,展开"管理"–选择"维护 ...

  4. 压缩SQL数据库日志-收缩SQL数据库日志-备份SQL数据库日志-删除SQL数据库日志

    [标题]压缩SQL数据库日志-收缩SQL数据库日志-备份SQL数据库日志-删除SQL数据库日志  [内容]         清除SQL数据库日志文件        有两种方式: 一.是压缩日志,二.是 ...

  5. 挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面)

    挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面) 原文:挺好用的SQLSERVER数据库自动备份工具SQLBackupAndFTP(功能全面) 挺好用的SQLSE ...

  6. 数据库自动备份还原成新库脚本

    数据库自动备份还原成新库脚本 BACKUP DATABASE [源数据库名] TO DISK = N'G:\testbackup.bak' WITH COMPRESSION,NOUNLOAD , NA ...

  7. 关于SQL Server自动备份无法删除过期的备份文件奇怪现象

    关于SQL Server自动备份无法删除过期的备份文件奇怪现象 关于SQL Server自动备份无法删除过期的备份文件 数据库服务器每天凌晨两点进行数据库备份,同时对5天前的数据库备份文件进行删除,不 ...

  8. SQL定时自动备份,并将备份文件加密压缩并自动下载的实现

    作为程序员或者数据库维护人员,可能大家经常 要做的事情就是备份数据库,并且为了安全起见最好是异地备份,但是如果要经常备份,然后把他们传到本地,是一件非常费时费力的事情,尤其像我这种比较懒的程序员,甚至 ...

  9. oracle备份数据脚本,oracle数据库自动备份脚本

    ::通过exp命令导出远程机器(192.168.2.1)上指定服务(orcl)指定用户(pmis)及密码(pmis)的数据 ::运行该脚本的机器必须安装oracle @echo off @echo [ ...

  10. 数据库自动备份(Slq Server 代理作业)

    主要能完成的工作有: 1.        数据库的定期(周期性)备份 2.        定时完成某些动作(工作) 举例:需要完成的工作是每天凌晨1:00把数据库test,备份一份放在D:\fullb ...

最新文章

  1. 那些复杂的技术设计的开始离我们并不遥远
  2. python环境变量配置_Anaconda从下载到环境变量配置(windows)
  3. see的口语高频用法
  4. linux gcc常用编译选项总结
  5. Linux USB 驱动开发(二)—— USB 驱动几个重要数据结构
  6. 上班又能摸鱼啦!在M1芯片的macbook上刷朋友圈可还行?
  7. 禁止选择,右键菜单,拷贝,拖拽
  8. 高级商务办公软件应用【1】
  9. PHP爬虫遇到incapsula
  10. 阿里云服务器的80端口被封了么?
  11. 如何让背景图片居中?
  12. ubuntu20.04截图快捷键
  13. IDEA设置多行标签页
  14. 分解成质因数(如435234=251*17*17*3*2
  15. Android电视直播 v5.6,龙龙直播app下载|龙龙直播apk2019官方版下载 v5.6.1 安卓版 - 数码资源网...
  16. MD5单向散列算法详解
  17. r语言C指数的置信区间,R语言入门:均值置信区间
  18. Java获取IP及归属地
  19. 《Learning Unsupervised Metaformer for Anomaly Detection》论文阅读笔记
  20. arduino ps2摇杆程序_Arduino技巧之PS2摇杆实验

热门文章

  1. RHEL 7.2 源码安装Python 3.6.2报错
  2. CocoaPods 2017最新、最快安装和使用说明
  3. Gym - 100625G Getting Through 计算几何+并查集
  4. phpcms v9二次开发之模型类的应用(2)
  5. 处理模型——找到对应一个方向的旋转角
  6. python ddos 伪装_Python进行DDOS攻击
  7. Disruptor 极速体验
  8. SDN第六次上机作业
  9. SQLite 3.7.13的加密解密(三)—— 创建加密解密函数
  10. nagios扩展开发之check_ping