EXEC sp_addumpdevice 'disk', 'MyNwind_1', 'z:/skills' 只是生成一个备份设备,
在本地机就可以,但备份不到另一台机。如何才可以备份到另一台机上呢?它的原理是
什么呢?
用 master..xp_cmdshell 系统扩展过程先在服务器与要备份到的机子间建立联系,
或者说是建立映射。
Exec master..xp_cmdshell 'net use //要备份到的机器名/共享文件夹名 用户密码
/User:工作组名或域名/用户名' --- (注意保留空格以及 ‘/’'/'别搞错)
然后再执行
Backup Database 数据库名 to Disk = '//要备份到的机器名/共享文件夹名/文件名'
以上两条语句就可以实现局域网内的异地备份。经过“临床验证”,实在有效。
如果还不成功,请给我留言,但不保证马上答复,要晚上才有时间。
Exec master..xp_cmdshell 'net use //Hstdbserver/delphi 362202 /User:WORKGROUP/hst009'
backup database erp_0 to disk='//Hstdbserver/delphi/ddd.bak' with init
-------------------------------------------------------------------------------------------------------------------------------------
第一步 共享本机一文件夹 e:/aa 共享名为 test
net share test = e:/aa
第二步 执行SQL在数据库服务器上创建影射 z:
exec master..xp_cmdshell 'net use z: //hyserver/test mmd /user:administrator'
第三步 执行备份
backup database cs01 to disk = 'z://cs01_05-12-26.bak'
第四步 删除数据库服务器上的影射 z:
exec master..xp_cmdshell 'net use z: /delete'
第五步 取消本机共享文件夹 test
net share test /delete
我的这个操作是在客户机上直接备份数据服务器上的数据库到我的本地文件夹
exec master..xp_cmdshell 'net use H: //Hstdbserver/delphi 362202 /User:WORKGROUP/hst009'
-- 第三步 执行备份
backup database erp_0 to disk = 'H://cs01_05-12-26.bak' with init
-- 第四步 删除数据库服务器上的影射 z:
exec master..xp_cmdshell 'net use H: /delete'