CREATE PROCEDURE up_BakDataToNet ASbegin
--创建映射
--系统数据库备份为192.168.20.88上的共享文件夹,administrator具有读写权限
--12345为administrator网络访问192.168.20.88的密码exec master..xp_cmdshell 'net use w: \\192.168.20.88\系统数据库备份$ 12345 192.168.20.88/user:administrator',NO_OUTPUT-----2000用游标:
declare @s nvarchar(200),@del nvarchar(200)
select @s='',@del=''declare datebak cursor for
select
[bak]='backup database '+quotename(Name)+' to disk =''w:'+Name+'_'+convert(char(10),getdate(),112)+'.bak'' with init',
[del]='exec master..xp_cmdshell '' del w:'+Name+'_'+convert(char(10),getdate()-7,112)+'.bak'', no_output'
from master..sysdatabases where dbid>4 --不备份系统数据库
open datebakfetch next from datebak into @s,@del
while @@fetch_status=0
begin
exec (@del)
exec(@s)
fetch next from datebak into @s,@del
end
close datebak
deallocate datebak
--删除映射
exec master..xp_cmdshell 'net use w: /delete'
end
GO--大家帮忙看看那里出错了
--创建映射
--系统数据库备份为192.168.20.88上的共享文件夹,administrator具有读写权限
--12345为administrator网络访问192.168.20.88的密码exec master..xp_cmdshell 'net use w: \\192.168.20.88\系统数据库备份$ 12345 192.168.20.88/user:administrator',NO_OUTPUT-----2000用游标:
declare @s nvarchar(200),@del nvarchar(200)
select @s='',@del=''declare datebak cursor for
select
[bak]='backup database '+quotename(Name)+' to disk =''w:'+Name+'_'+convert(char(10),getdate(),112)+'.bak'' with init',
[del]='exec master..xp_cmdshell '' del w:'+Name+'_'+convert(char(10),getdate()-7,112)+'.bak'', no_output'
from master..sysdatabases where dbid>4 --不备份系统数据库
open datebakfetch next from datebak into @s,@del
while @@fetch_status=0
begin
exec (@del)
exec(@s)
fetch next from datebak into @s,@del
end
close datebak
deallocate datebak
--删除映射
exec master..xp_cmdshell 'net use w: /delete'
end
GO--大家帮忙看看那里出错了
解决方案 »
- 用case语句拼接null值的varchar,结果也会是null,怎么办?
- 关于远程注册sql server2000服务器失败的问题?
- 请教怎么做1号到31号的进销存统计表?-比较难
- 如何创建一个存储过程来执行SSIS包
- 看一下这条语句怎么写?
- 请问一上存储过程变量@news char(10) 如给变量@news赋值120个字符,是会截取前10个字符,还是自动增加到char(120)
- SQL SERVER 的安装
- 感谢forgot2000的帮忙,请进来领分!
- 如何提高表查询时间??高分不要错过!
- SQL SERVER中varchar和text的优劣???
- MSSQL2000双四核CPU16G内存
- 扫描碎片发现如下信息,请问这个是好的不,。正常么
(如果你备份的文件有问题,那么你将备份文件拷贝到其他地方也是徒然)1.所有人都会这么备份的
2.如果你的备份的文件有问题,那么你将备份文件拷贝到其他地方也是徒然我的回答是1对应你的1,2是对应你的2,然后外加一个网络的和FTP的,
或者用OS做个系统调度复制到其他服务器请问一下我不外加个网络备份、ftp拷贝,在公司不购买磁盘阵列设备做不起镜像的前提下,
你还有什么更好的解决方案么? 你这老手真有点冬日娜的感觉!
net use w: \\192.168.20.88\系统数据库备份$ 12345 /user:192.168.20.88\administrator顺便说一下 不要用映射盘的方式尽量 会带来很多问题
xp_cmdshell调用cmd命令,有时候对windows来说是看不见的
而在windows里直接先建立好映射,再用sqlserver来备份,但是
sqlserver又看不到
windows里直接先建立好映的映射目录,
这个我倒测试应验了,但是如果是能够成功应用起来的,那也不是什么坏事情或给你带来什么大问题啊
你说的映射目录是什么?我的意思是用\\computer\share 这样的方式来备份(避免建立虚拟盘符) 这样不会有问题 而且也可以用net use进行认证 比如 net use \\computer\share /user:192.168.20.88/administrator