我是菜鸟,十分菜的那种鸟.现在重新把异地备份的事情提出来让大家帮帮忙,先谢了.
如下一段代码,说明不看不懂。现我想把192.168.110.2服务器上的LIMS_DATA和LIMS_DICT两个数据库需要备份192.168.110.1服务器的G:\BAK内。如何改写下列代码?
192.168.110.2的uesr:"administrator" password::"123"
192.168.110.1的uesr:"administrator" password::"321"另: 如题最后"楼上就是,可以再配合 数据库维护计划 一起使用,效果更佳,用了都说好 :) "
怎么配合使用,是在作业的步骤下的那段sql代码吗?
=============那位大侠写的=============
---磁盘映射 exec master..xp_cmdshell 'net use z: \\xz\c$ "密码 " /user:xz\administrator ' /*--说明:
z:是映射网络路径对应本机的盘符,与下面的备份对应
\\xz\c$是要映射的网络路径
xz\administratorxz是远程的计算机名,administrator是登陆的用户名
密码 上面指定的administrator用户的密码
--*/
--2.进行数据库备份
declare @dbname varchar(256)
declare @sql varchar(8000)
declare cur cursor local for
select name from master..sysdatabases where dbid> 4
open cur
fetch next from cur into @dbname
while @@fetch_status=0
begin
set @sql= 'backup database '+@dbname
+ ' to disk= ' 'z:\ '+@dbname
+ '.bak ' ' with password= ' '111 ' ' '
exec(@sql)
fetch next from cur into @dbname
end
close cur
deallocate cur --3.备份完成后删除映射
exec master..xp_cmdshell 'net use z: /delete '
楼上就是,可以再配合 数据库维护计划 一起使用,效果更佳,用了都说好 :)
如下一段代码,说明不看不懂。现我想把192.168.110.2服务器上的LIMS_DATA和LIMS_DICT两个数据库需要备份192.168.110.1服务器的G:\BAK内。如何改写下列代码?
192.168.110.2的uesr:"administrator" password::"123"
192.168.110.1的uesr:"administrator" password::"321"另: 如题最后"楼上就是,可以再配合 数据库维护计划 一起使用,效果更佳,用了都说好 :) "
怎么配合使用,是在作业的步骤下的那段sql代码吗?
=============那位大侠写的=============
---磁盘映射 exec master..xp_cmdshell 'net use z: \\xz\c$ "密码 " /user:xz\administrator ' /*--说明:
z:是映射网络路径对应本机的盘符,与下面的备份对应
\\xz\c$是要映射的网络路径
xz\administratorxz是远程的计算机名,administrator是登陆的用户名
密码 上面指定的administrator用户的密码
--*/
--2.进行数据库备份
declare @dbname varchar(256)
declare @sql varchar(8000)
declare cur cursor local for
select name from master..sysdatabases where dbid> 4
open cur
fetch next from cur into @dbname
while @@fetch_status=0
begin
set @sql= 'backup database '+@dbname
+ ' to disk= ' 'z:\ '+@dbname
+ '.bak ' ' with password= ' '111 ' ' '
exec(@sql)
fetch next from cur into @dbname
end
close cur
deallocate cur --3.备份完成后删除映射
exec master..xp_cmdshell 'net use z: /delete '
楼上就是,可以再配合 数据库维护计划 一起使用,效果更佳,用了都说好 :)
这代码是什么意思啊?敢问效率兄。
映射到本机(数据库所在主机)的X盘
用远程主机系统组用户及密码映射过来的硬盘和自己机器的硬盘的没有什么区别有权限作任何操作
X盘是 \\192.168.110.1\G:\Bak$ 的别名
是映射过来的 是虚拟的
随便写一个主机上不存在的硬盘名就行(比如:不能写C盘C: D盘 D: 但是可以写LMNXYZ盘)
exec master..xp_cmdshell
'net use Z: \\192.168.110.6\g$\JKTJ_Back\ "123" /user:192.168.110.6\administrator ' --其次,进行数据库备份
backup database JKTJ to disk= 'Z:\JKTJ.bak ' --最后.备份完成后删除映射
exec master..xp_cmdshell 'net use Z: /delete '貌似成功了,谢谢各位。不过还有一点,觉得挺不方便的,就是:
始终只能由一个bak文件。能否作到像本地备份那样以日期+时间作为文件名呢?
又该如何实现呢? 谢谢……
set @path='Z:\'+replace(replace(replace(convert(varchar(20),getdate(),120),'-',''),':',''),' ','_')+'JKTJ.bak'
backup database JKTJ to disk=@path
exec master..xp_cmdshell
'net use Z: \\192.168.110.6\g$\JKTJ_Back\ "123" /user:192.168.110.6\administrator ' --其次,进行数据库备份
backup database JKTJ to disk= 'Z:\JKTJ.bak ' --最后.备份完成后删除映射
exec master..xp_cmdshell 'net use Z: /delete ' 貌似成功了,谢谢各位。不过还有一点,觉得挺不方便的,就是:
始终只能由一个bak文件。能否作到像本地备份那样以日期+时间作为文件名呢?
又该如何实现呢? 谢谢……今天执行了一下出现下面的问题,这是什么问题,该如何解决?(所影响的行数为 5 行)服务器: 消息 3201,级别 16,状态 1,行 6
无法打开备份设备 'Z:\JKTJ.bak '。设备出现错误或设备脱机。详细信息请参阅 SQL Server 错误日志。
服务器: 消息 3013,级别 16,状态 1,行 6
BACKUP DATABASE 操作异常终止。(所影响的行数为 5 行)
EXECUTE master.dbo.xp_sqlmaint N'-PlanID B527438C-A763-4668-BEE5-5B2724BD464C -WriteHistory -VrfyBackup -BkUpMedia DISK -BkUpDB "\\192.168.110.6\g$\LIMS_BAcK" -DelBkUps 7DAYS -BkExt "BAK"'