1. 环境:

a)两台同样的Sql Server 2008 R2 服务器

b)操作系统都是windows 2008

c)需要将102.108.0.1数据库MSGC远程备份到112.118.0.2的服务器上, 库名保持不变

2. 打开102.108.0.1上Sql Server代理服务:

    开始→控制面板→小图标→管理工具→服务→SQL Server 代理 (MSSQLSERVER)→启动

3. 在112.118.0.2上建立一个共享文件夹, 这里我将c:\data文件夹作为共享文件夹

4. 打开SQL Server Management Studio, 然后连接到102.108.0.1上

  a)点开Sql Server代理, 右键作业→新建作业→名称备份MSGC→类别数据库维护→说明备份MSGC

  b)接着上面的步骤, 不用点确定, 再点左侧的步骤→新建→新建作业→步骤名称: 备份MSGC→类型Transact-SQL脚本(T-SQL)→数据库MSGC, 在命令右侧的框中输入:

exec master..xp_cmdshell 'net use \\112.118.0.2\data woshiyigemima /user: 112.118.0.2\administrator'

          declare @ss varchar(50)

          set @ss = convert(varchar(100),GetDate(),112)

          set @ss ='\\112.118.0.2\\data\MSGC.bak'

          backup database MSGC to disk=@ss WITH FORMAT

          exec master..xp_cmdshell'net use \\112.118.0.2\data /delete'

解释: 利用xp_cmdshell创建一个网络映射, 把备份好的数据库, 远程存入到映射盘符中,data是112.118.0.2服务器的一个允许读写的共享文件夹,执行完成后,把映射删除掉,释放资源.

在使用cp_cmdshell创建网络映射时, 先要开启, 否则会有报错, 如下命令:

EXEC sp_configure 'show advanced options', 1;-- 允许配置高级选项
--配置选项'show advanced options' 已从1 更改为1。请运行RECONFIGURE 语句进行安装。
RECONFIGURE;-- 重新配置
--命令已成功完成。
EXEC sp_configure 'xp_cmdshell', 1;-- 开启xp_cmdshell
--配置选项'xp_cmdshell' 已从1 更改为1。请运行RECONFIGURE 语句进行安装。
RECONFIGURE;-- 重新配置
--命令已成功完成。
exec master..xp_cmdshell 'net use \\112.118.0.2\data woshiyigemima /user: 112.118.0.2\administrator'
-- net use \\112.118.0.2\data 允许网络读写的共享文件路径
-- woshiyigemima 112.118.0.2服务器的登录密码
--/user: 112.118.0.2\administrator 112.118.0.2的登录名
declare @ss varchar(50)
--声明变量
set @ss = convert(varchar(100),GetDate(),112)
-–赋值当前日期, 我这里没有使用
set @ss ='\\112.118.0.2\\data\MSGC.bak'
--最好是使用同名的备份, 否则还原的时候可能会有问题
backup database MSGC to disk=@ss WITH FORMAT
--WITH FORMAT可以做到覆盖任何现有备份和创建新媒体集
exec master..xp_cmdshell'net use \\112.118.0.2\data /delete'
--删除刚才创建的映射

5. 还是不要点确定, 接着点计划, 设置执行次数和执行时间

6. 如果想设置警报通知, 可以在警报→响应添加操作员; 然后在通知中选择一个电子邮件即可, 这里不再做详细的描述

7. 备份建立完成后, 整体如下图

Sql server 2008 R2 实现远程异地备份的更多相关文章

  1. SQL Server 2008 R2 开启远程连接

    因为sql server 2008默认是不允许远程连接的,sa帐户也是默认禁用的,如果想要在本地用SSMS(SQL Server Management Studio Express) 连接远程服务器上 ...

  2. 利用SQL Server 2008 R2创建自动备份计划

    本文主要利用SQL Server 2008 R2自带的"维护计划"创建一个自动备份数据的任务. 首先,启动 Sql Management studio,确保"SQL Se ...

  3. SQL Server 2008 R2 开启数据库远程连接

    今天要测试一个.net系统~因为配置的数据库是SQL Server~我就不得不安装SQL Server 2008 R2~现在我们就一起来看看SQL Server 2008 R2是如何打开远程连接端口1 ...

  4. 数据库备份和恢复秩序的关系(周围环境:Microsoft SQL Server 2008 R2)

    让我们来看看在备份序列新手 --1.塔建环境(生成测试数据和备份文件) /* 測试环境: Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) ...

  5. SQL Server 2008 R2如何开启数据库的远程连接

    SQL Server 2008 R2如何开启数据库的远程连接 SQL Server 2005以上版本默认是不允许远程连接的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,远 ...

  6. SQL SERVER 2008 R2 自动备份并删除过期备份数据

        我们的系统维护的过程中肯定需要对数据库进行定期的备份,但是如果定时手工备份的话,不但浪费时间,也不能保证每次都可以按时备份,所以自动备份成为了我们的不二选择,但是定时备份需要定期清理备份文件, ...

  7. Microsoft SQL Server 2008 R2数据库备份 - 人工备份

    业务介绍 数据库人工备份是指由相关管理人员通过主动的手工方式备份数据库文件.在一些特殊的时间节点,如重要资料的录入完成.软硬件环境更新前等需要特别关注数据库安全的时候,一定要进行数据库的人工备份,以保 ...

  8. sql server 2008 R2 备份还原到sql 2012

    从sql server 2008 r2备份的在sql server 2012中还原时一直读不到备份文件,然后把2008r2备份文件放到sql 2012的安装路径对应的Backup文件夹后可以读到了,不 ...

  9. 四、利用SQL Server 2008 R2创建自动备份计划

    (转) 本文主要利用SQL Server 2008 R2自带的"维护计划"创建一个自动备份数据的任务. 首先,启动 Sql Management studio,确保"SQ ...

随机推荐

  1. split拆分数组长度问题

    package test; public class test1_format { public static void main(String[] args) { System.out.printl ...

  2. JS总结 本地对象2 BOM DOM

    string对象 定义一个字符: var str = "world"; str.length    返回字符长度,5 str.charAt(2) 返回字符串第2个字符(从0开始,下 ...

  3. ACM_1001_Exponentiation 详解

    参考:http://blog.csdn.net/rually/article/details/8585268 #include<iostream> using namespace std; ...

  4. 【Excel】宏之初认识

    出于提高效率的原因,希望excel能够不需要人为干预的完成一些操作,学习excel宏的编写与调试: 第一列输入公式,第二类输出计算结果:(如果自动获取文件的行数,待补充) Sub Calc() a = ...

  5. css 绘制对话框三角符号

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  6. Ubuntu gcc缺失问题

    在安装redis过程中,需要使用make编译源码,但发现linux中缺失gcc,系统为Ubuntu12. 一般情况下,可使用sudo apt-get install gcc或者sudo apt-get ...

  7. 深入理解JavaScript系列:为什么03-0.2不等于0.1

    五一宅家看书,所以接着更新一篇文章. 今天讲一下为什么03-0.2不等于0.1这个问题. 有点标题党的味道,在JavaScript中,当你试着对小数进行加减运算时,有时候会发现某个结果并非我们所想的那 ...

  8. 当C++多继承遇上类型转换[转]

      1 由来 客户用陈旧的VC++6.0进行项目开发,有一块功能需要我来实现.让一个早就习惯了VS2013的人去使用C++支持不太好的VC6去做开发实在是非常不爽,于是另辟蹊径,打算使用VC++201 ...

  9. shell脚本入门及基本元素

    命令和参数 #!/bin/sh 其中#!用来告诉系统它后面的参数是用来执行该文件的程序,必须放在脚本的首行,不然会在执行脚 本 的时候报错.当一个文件开头的两个字符是#!时,内核会扫描其它的部分看是否 ...

  10. java 对象 :创建

    灵感来自effective java 关于对象,是java的核心,如何有效的创建其实是一个值得关注的地方. 1.静态工厂:这是一个值得关注的,并且应该时刻考虑的方法. 优点:1.他是有名字的,这个是如 ...