当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQLServer2005实现远程数据库备份

MSSQL
sqlserver2005 xml字段的读写操作
SQLServer Job运行成功或失败时发送电子邮件通知的图文教程
一个删除指定表的所有索引和统计的过程
SQLServer2005 的查询独占模拟
SQLServer2005 中的几个统计技巧
SQLServer 数据集合的交、并、差集运算
讲解SQL Server系统数据库的工作原理
Windows Vista系统服务安全强化策略
SQL Server中导入导出数据的三种方式
SQL Server用索引视图查看性能状况
缩小SQL Server数据库的日志文件
在不同版本的SQL Server中存储数据
Windows Server 2008 十大出色功能
SQL Server系统数据库的工作原理
SQL Server中“函数”的两种用法
掌握SQL Server数据库的实用技巧
SQL Server2000数据库分离与附加
SQL Server 2008的一些新特点及独到之处
删除SQL Server 2000所有的危险扩展
SQL 2005身份证函数包含验证和15位转18位

MSSQL 中的 SQLServer2005实现远程数据库备份


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 131 ::
收藏到网摘: n/a

一、xp_cmdshell的启用

xp_cmdshell 扩展存储过程将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出。由于xp_cmdshell 可以执行任何操作系统命令,所以一旦SQL Server管理员帐号如sa)被攻破,那么攻击者就可以利用xp_cmdshell 在SQL Server中执行操作系统命令,如:创建系统管理员,也就意味着系统的最高权限已在别人的掌控之中。由于存在安全隐患,所以在SQL Server 2005中, xp_cmdshell 默认是关闭的。

  两种方式启用xp_cmdshell

  1.打开外围应用配置器—>

  功能的外围应用配置器—>

  实例名Database Enginexp_cmdshell—>

  启用

  2.sp_configure

  -- 允许配置高级选项

  EXEC sp_configure 'show advanced options', 1

  GO

  -- 重新配置

  RECONFIGURE

  GO

  -- 启用xp_cmdshell

  EXEC sp_configure 'xp_cmdshell', 0

  GO

  --重新配置

  RECONFIGURE

  GO

--执行想要的xp_cmdshell语句

  Exec xp_cmdshell 'query user'

  GO

  --用完后,要记得将xp_cmdshell禁用(从安全角度安全考虑)

  -- 允许配置高级选项

  EXEC sp_configure 'show advanced options', 1

  GO

  -- 重新配置

  RECONFIGURE

  GO

  -- 禁用xp_cmdshell

  EXEC sp_configure 'xp_cmdshell', 1

  GO

  --重新配置

  RECONFIGURE
二、开始备份

exec master..xp_cmdshell 'net use z: \\juwang\SQLBak 123456 /user:juwang\administrator'

//建立网络路径映射:网络路径,\\juwang\SQLBak;z:是映射网络路径对应本机的盘符;juwang是远程计算机的名称(也可写IP地址)。administrator是登录的用户名,123456是登录用户的密码(最好写成"123456")

backup database hjx to disk='e:\hjx_backup.bak ' with init

备份hj数据库,with init 覆盖,noinit追加

 

exec master..xp_cmdshell 'copy e:\hjx_backup.bak  z:'

复制hjx_backup.bak文件到z:

 

exec master..xp_cmdshell 'del e:\hjx_backup.bak '

删除本地备份文件

 

exec master..xp_cmdshell 'net use z: /delete'
删除网络映射盘z: