SQLServer2005实现远程数据库备份

SQLServer2005实现远程数据库备份,第1张

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

一、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
备份hjx数据库,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:

转自:http://sqlnet.blog.51cto.com/343343/169096/

总结

以上是内存溢出为你收集整理的SQLServer2005实现远程数据库备份全部内容,希望文章能够帮你解决SQLServer2005实现远程数据库备份所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1178759.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存