SQL Server中通过扩展存储过程实现数据库的远程备份与恢复

 更新时间:2012年05月11日 00:17:13   作者:  
SQL Server中通过扩展存储过程实现数据库的远程备份与恢复实现方法,需要的朋友可以参考下
本文通过实例解析了 SQL Server 数据库扩展存储过程,实现远程备份与恢复的方法和步骤
实例说明:

  环境:win2k+sqlserver 2K+查询分析器
  SQL SERVER服务实例名称:mainserver
  需要备份的数据库名称: msdb
  本地机器名称(Client端):david
  本地用户:zf 密码:123
  本地域名:domain
  本地提供备份需求的文件夹:e: est

  第一步: 建立共享文件夹

  在程序代码中调用(或者CMD窗口) net share test=e: est

  或者用NetShareAdd这个API

  简要说明:

  net share: 是WINDOWS内部的网络命令。

  作用:建立本地的共享资源,显示当前计算机的共享资源信息。

  语法:参见 net share /?

  第二步: 建立共享信用关系

  master..xp_cmdshell 'net use \david est 123 /user:domainzf'

  简要说明:

  1:xp_cmdshell :是SQLSERVER的扩展存储过程。

  作用,以操作系统命令行解释器的方式执行给定的命令字符串,

  并以文本行方式返回任何输出。

  语法:参见SQLSERVER联机帮助

  2:net use: 是WINDOWS内部的网络命令。

  作用,将计算机与共享资源连接或断开,或者显示关于计算机

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

  语法:参见 net use /?

  第三步:备份数据库

  backup database msdb to disk='\david estmsdb.bak'

  这个不需要说明吧,语法参见SQLSERVER联机帮助

  第四步: 删除共享文件夹

  在程序代码中调用(或者CMD窗口) net share test /delete

  或者用NetShareDel这个API

  结果:

  已处理 1376 页,这些页属于数据库 'msdb' 的文件 'MSDBData'(位于文件 1 上)。

  已处理 1 页,这些页属于数据库 'msdb' 的文件 'MSDBLog'(位于文件 1 上)。

  BACKUP DATABASE 操作成功地处理了 1377 页,花费了 3.653 秒(3.086 MB/秒)。

  这样mainserver服务器上的msdb就备份到了david机器的E: estmsdb.bak文件了,使用起来很简单吧?恢复数据库操作也是一样,只要将第三个步骤的语句改为'restore database msdb from disk='\david estmsdb.bak'就可以啦。。你看完了也可以试试呀?!(最简单的测试工具查询分析器+CMD窗口)

  备注:xp_cmdshell 这个扩展存储过程只能SA级别的用户调用,而且是SQL Server的安全隐患之一,许多DBA都喜欢将其删除或者禁用,所以开发人员使用时要倍加小心哦。

相关文章

  • MS-SQL Server 中单引号的两种处理方法

    MS-SQL Server 中单引号的两种处理方法

    MS-SQL Server 中单引号的两种处理方法...
    2007-01-01
  • 通过navicat连接SQL Server数据库的详细步骤

    通过navicat连接SQL Server数据库的详细步骤

    本文介绍如何通过navicat连接SQL Server数据库,以往总是使SQL Server客户端来连接SQL Server数据库,但是SQL Server客户端一般有几百M的大小,而且安装繁琐配置麻烦,如果可以通过Navicat直接连接SQL Server则会非常轻松方便,需要的朋友可以参考下
    2023-12-12
  • 非常好用的sql语句(日常整理)

    非常好用的sql语句(日常整理)

    本文给大家分享几个比较好用的sql语句,在数据库中经常会用到,需要的朋友可以参考下本篇文章。
    2015-09-09
  • 简单的SQL Server备份脚本代码

    简单的SQL Server备份脚本代码

    简单的SQL Server备份脚本代码...
    2007-03-03
  • SQL Server中使用Linkserver连接Oracle的方法

    SQL Server中使用Linkserver连接Oracle的方法

    SQL Server提供了Linkserver来连接不同数据库上的同构或异构数据源。下面以图示介绍一下连接Oracle的方式
    2012-07-07
  • 关于SQL的几道小题详解(sql进阶)

    关于SQL的几道小题详解(sql进阶)

    当我们拿到题目的时候,并不是急于作答,那样会得不偿失的,而是分析思路,采用什么方法,达到什么目的,还要思考有没有简单的方法或者通用的方法等等,这样才会达到以一当十的效果
    2015-06-06
  • SQL恢复master数据库方法 只有mdf文件的数据库如何恢复

    SQL恢复master数据库方法 只有mdf文件的数据库如何恢复

    这篇文章主要为大家详细介绍了SQL恢复master数据库方法,还分析了只有mdf文件的数据库如何进行恢复的情况,也就是没有log文件的数据库文件恢复方法,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • SQL Server中操作XML数据的示例详解

    SQL Server中操作XML数据的示例详解

    在关系数据库的世界中,SQL Server 一直以其强大的功能脱颖而出,在本文中,我将探讨如何在 SQL Server 中存储、查询和操作 XML 数据,需要的可以参考下
    2024-12-12
  • SQL报错注入之updatexml的实现

    SQL报错注入之updatexml的实现

    updatexml函数通过输入不符合XPATH格式的数据来触发报错,并利用这一点进行SQL注入,通过分析报错信息,可以判断是否存在注入点,并逐步爆出数据库名、表名、字段名以及敏感数据,感兴趣的可以了解一下
    2024-10-10
  • 解析SQL Server CDC配合Kafka Connect监听数据变化的问题

    解析SQL Server CDC配合Kafka Connect监听数据变化的问题

    这篇文章主要介绍了SQL Server CDC配合Kafka Connect监听数据变化,除了数据库开启CDC支持以外,主要还是要将变更的数据通过Kafka Connect传输数据,Debezium是目前官方推荐的连接器,本文给大家分享实现步骤,感兴趣的朋友跟随小编一起看看吧
    2021-12-12

最新评论