mssql数据库异地备份的两种方法

 

如:backup database master to disk='e:\a.bak'
现在要将'e:\a.bak'这个 文件备份到 FTP上。而不是本地 路径
假设FTP的帐号密码都为01,ftp的ip地址为192.168.1.10
如何实现这样的backup.
============================================================
答案:
mssql 数据库异地备份的两种 方法
/*两种方法的前提:1.本地 服务器的sqlserver agent 服务 保证处于启动状态
  2.远程 计算机(计算机管理里) 建立一个普通权限 用户,并为其加上密码(例如用户名为sa,密码为1234),同时在那台机器的非 系统盘里建一个名为 backup的 共享文件夹,为了 安全 另外设置这个文件夹只有这个sa用户 可以 访问(需要ntfs格式才可以设置安全)*/

-----------------------------------------------------------------------------------------------------------------------

--方法1:用“job(作业)”做
declare @sql varchar(500)
select @sql='\\10.2.0.12\backup\dbname'+'_db_'+convert(varchar(10),getdate(),112) +
substr ing(convert(varchar(10),getdate(),108),1,2) +'.bak'
exec master..xp_cmd shell ' net use \\10.2.0.12\backup 1234 /user:remotehost\sa
backup database dbname to disk=@sql --备份 数据库,这里的10.2.0.12为远程计算机的ip,backup为共享文件夹名,dbname为本地sqlserver服务器要备份的数据库,remotehost为远程计算机的计算机名,1234为密码,sa用户名,请相应替换成实际环境的数据
go

declare @sql varchar(500)
select @sql='del '+'\\10.2.0.12\backup\dbname'+'_db_'+convert(varchar(10),dateadd(day,-7,getdate()),112) +
substring(convert(varchar(10),dateadd(day,-7,getdate()),108),1,2) +'.bak'
exec master..xp_cmdshell @sql --删除 7天前的备份,也就是只保留7个最新备份
go

-----------------------------------------------------------------------------------------------------------------------

--方法2:用“ 数据库维护计划”做

1.本地服务器(计算机管理里)建立一个 操作系统用户,例如sa(用户名和密码需要跟远程计算机所建立的用户情况相同),赋予此用户ad ministrators组权限,加上相应的密码。
2. 在 企业管理器→右键点击(local)( windows nt) 选择属性→在“安全性”选项里的“启动服务帐户”选择使用“本帐号”,在里面填入第一步建立的用户和密码(sa)。(这里的 功能是:用这个跟远程计算机用户名密码一样的用户来启动本地sqlserver,就像做了net use)
3.待sa用户重启了sqlserver服务后,在数据库维护计划里的“指定备份磁盘目录”这一步手工 输入远程计算机地址及共享文件夹名\\10.2.0.12\backup(10.2.0.12为远程计算机的ip,backup为远程计算机开放的共享文件夹名)
4.更改本地服务器 时间,测试异地备份效果
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值