快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

SQL如何备份到异机

在线QQ客服:1922638

专业的SQL Server、MySQL数据库同步软件

SQL如何备份到异机

写成存储过程,建立作业定时备份~~~

–在sql中映射一下就可以了
exec master..xp_cmdshell ‘net use z: \\yizhi\D$ “密码”
/user:yizhi\administrator’

–备份;with init覆盖|noinit添加
backup database 库名 to disk=’E:\H_BACKUP.bak’ with init

–COPY
exec master..xp_cmdshell ‘copy E:\H_BACKUP.bak z:’

–删除(这句可以去掉)
–exec master..xp_cmdshell ‘del E:\H_BACKUP.bak’

–完成后删除映射
exec master..xp_cmdshell ‘net use z:/delete’

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

———————————————————————————————————————–

–方法1:用”job(作业)”做

declare @sql varchar(500)

select
@sql=’\\10.2.0.12\backup\dbname’+’_db_’+convert(varchar(10),getdate(),112)
+

substring(convert(varchar(10),getdate(),108),1,2) +’.bak’

exec master..xp_cmdshell ‘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(用户名和密码需要跟远程计算机所建立的用户情况相同),赋予此用户administrators组权限,加上相应的密码。

2.在企业管理器→右键点击(local)(windows
nt)选择属性→在”安全性”选项里的”启动服务帐户”选择使用”本帐号”,在里面填入第一步建立的用户和密码(sa)。(这里的功能是:用这个跟远程计算机用户名密码一样的用户来启动本地sqlserver,就像做了net
use)

3.待sa用户重启了sqlserver服务后,在数据库维护计划里的”指定备份磁盘目录”这一步手工输入远程计算机地址及共享文件夹名\\10.2.0.12\backup(10.2.0.12为远程计算机的ip,backup为远程计算机开放的共享文件夹名)

4.更改本地服务器时间,测试异地备份效果

SQL Server数据库异地备份的实现

将一台服务器A上的一个数据库data备份自动备份到服务器B的目录

1.机器A,B创建一个同名的windows用户,用户组设置为administrators,并设置相同的密码,做为备份文件夹文件夹的有效访问用户,操作:

我的电脑》控制面板》管理工具》计算机管理》用户和组》右键用户》新建用户

–建立一个隶属于administrator组的登陆windows的用户

2.在B机器器上,新建一个共享目录,做为备份文件的存放目录,操作:

我的电脑–D:\ 新建一个目录,名为: BAK

–右键这个新建的目录

–属性–共享

–选择”共享该文件夹”

–通过”权限”按纽来设置具体的用户权限,保证第一步中创建的用户具有对该文件夹的所有权限

–确定

3.设置 MSSQLSERVER 及 SQLSERVERAGENT
服务的启动用户

开始–程序–管理工具–服务

–右键 MSSQLSERVER

–属性–登陆–选择”此账户”

–输入或者选择第一步中创建的windows登录用户名

–“密码”中输入该用户的密码

–确定

–同样的方法设置 SQLSERVERAGENT

4.在A机器上完成对B机器BAK目录的映射

5.查询分析器中执行下面的语句,检验是否成功:

exec master..xp_cmdshell ‘dir 映射的盘符’

6.A服务器上做备份计划

SQL异地备份失败,归根结底是权限问题

如:

SQLServer备到FileServer上

那你的SQLServer的启动用户必须在FileServer上有足够的权限!

——————–^^^———————————

1、SQLServer上新建一SQLUser用户权限大一点。

2、FileServer上建同一用户对某一文件夹有足够权限。

3、两机的SQLUser密码相同(方便一点)

4、将SQLServer改为SQLUser启动

(管理工具–>服务–>mssql项–>属性–>指定用户及密码)

5、文件夹\ShareBak.Bak就可以了

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1922638