SQL server 数据库备份至服务器本地磁盘和其他服务器磁盘
前言
因工作需要将数据库每日备份至服务器本地磁盘和其他服务器磁盘,对网上的例子进行改造,解决了SQL server数据库备份的问题。
一、将指定数据库备份到本地
将数据库affair_stydy全备份至服务器H盘的AutoBackup文件夹下,实例如下:
DECLARE
@NAME VARCHAR(250)
SET @NAME='H:\AutoBackup\affair_stydy_'+ CONVERT(VARCHAR(50),GETDATE(),112)+'.bak'
BACKUP DATABASE[affair_stydy]TO DISK=@NAME WITH NOFORMAT, NOINIT,
NAME = N'affair_stydy_完整 数据库 备份',
SKIP, NOREWIND, NOUNLOAD
二、将指定数据库备份至其他服务器
将数据库affair_stydy全备份至10.10.56.43服务器的任意盘的AutoBackup文件夹下,实例如下:
注意:在目标服务器任意盘符创建AutoBackup文件夹,开启共享并设置权限为Everyone 完全控制,可能会受360、防火墙、cmd.exe的运行账户 等因素的影响。
--如果xp_cmdshell没有启用,请先启用
sp_configure 'show advanced options',1
RECONFIGURE
GO
sp_configure 'xp_cmdshell',1
RECONFIGURE
GO
--1.先创建映射
--EXEC MASTER.dbo.xp_cmdshell 'net use \\服务器IP\共享文件夹 用户密码 /user:服务器IP\登录用户名'
EXEC MASTER.dbo.xp_cmdshell 'net use \\10.10.56.43\AutoBackup l;'' /user:10.10.56.43\Administrator'
--2.利用映射备份数据库
BACKUP DATABASE affair_stydy to disk='\\10.10.56.43\AutoBackup\affair_stydy.bak'
--3.删除映射
EXEC MASTER.dbo.xp_cmdshell 'net use \\10.10.56.43\AutoBackup /delete'
三、同时将数据库备份到服务器本地和其他服务器指定磁盘
将一、二进行整合,实现能同时备份数据库到服务器本地磁盘和其他服务器磁盘,实例如下:
--如果xp_cmdshell没有启用,请先启用
sp_configure 'show advanced options',1
RECONFIGURE
GO
sp_configure 'xp_cmdshell',1
RECONFIGURE
GO
DECLARE
@DatabaseName VARCHAR(100) --要备份的数据库名
,@Local_File_path VARCHAR(500) --本地备份路径
,@Server_Name VARCHAR(20) --目标服务器IP
,@Server_File_path VARCHAR(500) --目标服务器备份路径
,@User VARCHAR(100) --目标服务器登录用户名
,@Pwd VARCHAR(100) --目标服务器登录密码
,@Link VARCHAR(200) --链接字符串
BEGIN
--参数设定
SET @DatabaseName='affair_stydy';
SET @Local_File_path='''H:\AutoBackup\'+@DatabaseName+CONVERT(VARCHAR(50),GETDATE(),112)+'.bak''';
SET @Server_Name='10.10.56.43';
SET @Server_File_path='''\\'+@Server_Name+'\AutoBackup\'+@DatabaseName+CONVERT(VARCHAR(50),GETDATE(),112)+'.bak''';
SET @User='Administrator';
SET @Pwd='l;'''; --一、备份到本地
EXEC('BACKUP DATABASE '+@DatabaseName+' TO DISK ='+@Local_File_path); --二、备份到其他服务器
--1.先创建映射
SET @Link='net use \\'+@Server_Name+'\AutoBackup '+@Pwd+' /user:'+@Server_Name+'\'+@User+'';
EXEC MASTER.dbo.xp_cmdshell @Link; --2.利用映射备份数据库
EXEC('BACKUP DATABASE '+@DatabaseName+' TO DISK ='+@Server_File_path);
--3.删除映射
SET @Link='net use \\'+@Server_Name+'\AutoBackup /delete';
EXEC MASTER.dbo.xp_cmdshell @Link;
END
四、备份机制
可根据实际需要创建作业每日或指定时间段执行上述各代码块的内容,实现不同类型的数据库备份。
SQL server 数据库备份至服务器本地磁盘和其他服务器磁盘的更多相关文章
- (图解版)SQL Server数据库备份与还原
本文介绍了SQL Server数据库备份的两种方式.一种是直接拷贝数据库中的文件mdf 和日志文件ldf,另一种是生成脚本语言. 第一种方式: 选中需要备份的数据库,将数据库从运行的数 ...
- SQL Server数据库备份的镜像
SQL Server数据库备份的镜像 一个完整备份可以分开镜像 USE master GO BACKUP DATABASE [testdatabase] TO DISK = N'C:\testdata ...
- SQL Server数据库备份:通过Windows批处理命令执行
通过Windows批处理命令执行SQL Server数据库备份 建立mybackup.bat ,输入以下内容直接运行该脚本,即可开始自动备份数据库也可把该脚本加入windows任务计划里执行. --- ...
- SQL Server数据库备份(本机)
基础的SQL Server数据库备份存储过程 /**************************************************************************** ...
- SQL server数据库备份还原问题备忘(亲测有效)
问题一:SQL server数据库备份还原方法 http://www.cnblogs.com/zgqys1980/archive/2012/07/04/2576382.html 问题二:无法执行 BA ...
- sql server数据库备份单个表的结构和数据生成脚本
1.使用场景:sql server数据库备份单个表的结构和数据,在我们要修改正式系统的数据的一天或者多条某些数据时候,要执行update语句操作,安全稳健考虑,最好先做好所修改的表的结构和数据备份! ...
- sql server 数据库备份历史记录
sql server 数据库备份历史记录 SELECT ),SERVERPROPERTY('Servername'))AS Server, bs.database_name, bs.backup_st ...
- sql server数据库备份单个表的结构和数据生成脚本【转】
1.使用场景:sql server数据库备份单个表的结构和数据,在我们要修改正式系统的数据的一天或者多条某些数据时候,要执行update语句操作,安全稳健考虑,最好先做好所修改的表的结构和数据备份! ...
- SQL Server数据库备份&还原
一.备份 1.登录数据库 2.找到要还原的数据库 右键-任务-备份-添加(路径只写一个,刚开始二个总是报错)-确定 二.还原数据库 这个之间报错了二次 1.报错1:备份集中的数据库与现有数据库“XXX ...
随机推荐
- Kettle-Spoon入门示例
Spoon 是Kettle的设计调试工具 [Demo文档下载] https://files.cnblogs.com/files/shexunyu/Kettle-Spoon-Demo%E5%B8%AE% ...
- JavaScprit30-5 学习笔记
最近忙这忙那...好久没看视频学习了...但是该学的还是要学. 这次要实现的效果是利用 flex 的 特性 来实现 可伸缩的图片墙演示 页面的展示...: 效果挺炫酷啊... 那么就来总结一下 学到了 ...
- mac系统连接Android手机
1. 打开终端,输入:system_profiler SPUSBDataType,查看Mac系统所有USB设备信息,找到相应的厂商Vender ID 2.输入echo "Vender ID& ...
- Azure 项目构建 - 构建 WordPress 网站
本课程主要介绍了如何基于 Azure Web 应用和 WordPress 快速构建网站,实践讲解如何使用 Azure Web 应用,创建并连接 MySQL Database on Azure, 使用 ...
- ubuntu 14.04 安装npm
1. 安装 sudo apt install nodejs-legacy sudo apt install npm
- (八)VMware harbor 成员管理
(一)VMware harbor 成员管理 可以给项目添加成员,成员必须是已经注册的成员. 添加成员后,成员就会有4种角色:项目管理员,维护人员,开发人员,访客. 1.1 新建成员 1.2 修改角色 ...
- WPF中给Button加上图标和文字
要实现在Button里面加入图标或者图形以及文字,我们就需要在Button里面用一个WrapPanel控件,这个WrapPanel控件会把我们的图标或者文字进行包裹,并显示出来. Xaml: < ...
- 制作新的train,test数据集
之前的数据集的train和test是直接按照网上下载的数据的前7000个作为训练集,后2212个作为测试集.看得出来,这个数据集是由开车录制视频转换来的图片数据,后面2000多个图片的场景和前面的场景 ...
- IIS应用程序池"启用32位"导致服务不可用的503错误
原来运行正常的站点,突然不正常了,出现503错误.查看操作系统的日志查看器显示: 由于配置问题,无法加载模块 DLL“C:\Program Files (x86)\IIS\Asp.Net Core M ...
- jQuery中Ajax事件beforesend及各参数含义
Ajax会触发很多事件. 有两种事件,一种是局部事件,一种是全局事件: 局部事件:通过$.ajax来调用并且分配. $.ajax({ beforeSend: function(){ // Handle ...