SQL SERVER 远程备份与还原

来源:互联网 发布:交互式课件制作软件 编辑:程序博客网 时间:2024/05/19 13:46

SQLSERVER服务实例名称:192.168.0.2
需要备份的数据库名称: a
备份机器名称(Client端):192.168.0.3
备份机用户:zf 密码:123
备份机域名:domain
备份机提供备份需求的文件夹:D:/sqlbak

备份数据库

第一步: 在备份机建立共享文件夹
              在程序代码中调用(或者CMD窗口)  net share sqlbakup=D:/sqlbak    或者用NetShareAdd这个API
              简要说明:
                      net share:是WINDOWS内部的网络命令。
                               作用:建立本地的共享资源,显示当前计算机的共享资源信息。

第二步: 建立共享信用关系
             exec master..xp_cmdshell 'net use  //192.168.0.3/sqlbak 123 /user:domain/zf'
             简要说明:
                    1:xp_cmdshell :是SQLSERVER的扩展存储过程。
                            作用:以操作系统命令行解释器的方式执行给定的命令字符串, 并以文本行方式返回任何输出。
                            语法:参见SQLSERVER联机帮助
                    2:net use : 是WINDOWS内部的网络命令。
                            作用:将计算机与共享资源连接或断开,或者显示关于计算机连接的信息。

                             该命令还控制持久网络连接。

第三步:备份数据库
             backup database a  to disk='//192.168.0.3/sqlbak/a.bak'
             backup database a  to disk='//192.168.0.3/sqlbak/a1.bak' WITH DIFFERENTIAL (差异备份)

第四步: 删除共享文件夹
              在程序代码中调用(或者CMD窗口)  net share sqlbakup/delete
              或者用NetShareDel这个API
  

恢复数据库

     restore database a  from disk='//192.168.0.3/sqlbak/a.bak'
      
     以下是差异还原
     restore database scs  from disk='//192.168.0.3/sqlbak/a.bak'  WITH NORECOVERY
     restore database scs  from disk='//192.168.0.3/sqlbak/a1.bak'  WITH NORECOVERY
     restore database scs  from disk='//192.168.0.3/sqlbak/a2.bak'

0 0
原创粉丝点击