类型:转载 责任编辑:asp.net 日期:2007/05/23
热门软件下载:
我用A(192.168.0.4)机器的CMD下面执行下面语句
net use i: \\192.168.0.88\d$ lqsjcecc /user:192.168.0.88\administrator
然后到B(192.168.0.88)机器我的电脑里可以访问盘I:
在DOS 下面可以访问I: 但是我到扩展存储过程SP_CMDSHELL 不能访问
但是我在自己的本机上的扩展存储过程SP_CMDSHELL用查询分析器边上(SA登录的)执行
master..xp_cmdshell net use i: \\192.168.0.88\d$ lqsjcecc /user:192.168.0.88\administrator 可以成功,但到我的电脑里不可以访问I: 提示未知用户和错误密码
不知道是为什么请大家帮帮忙
网友回答:
--那没问题吧?
--1.映射(不能映射internet上的)
exec master..xp_cmdshell net use z: \\B\c$ "密码" /user:B\administrator
/*--说明:
z: 是映射网络路径对应本机的盘符,与下面的备份对应
\\B\c$ 是要映射的网络路径
b\administrator b是备份服务器的计算机名,administrator是共享目录的有效访问用户,密码是administrator的密码
--*/
--2.进行数据库备份
backup database 数据库名 to disk=z:\备份文件名
--3.备份完成后删除映射
exec master..xp_cmdshell net use z: /delete
看了真有点晕,我想是这样的
下面是你的原话
--------------------------------
"客户端"使用查询分析器连接A服务器使用XP_CMDSHELL这个扩展存储过程将B的D盘映射到A,再backup database 数据库名 to disk=z:\备份文件名
---------------------------------
上面的“客户端”应该是你的电脑,既不是A也不是B,而是另外一台电脑吧(就叫C吧)
你执行 这条语句的时候
master..xp_cmdshell net use i: \\192.168.0.88\d$ lqsjcecc /user:192.168.0.88\administrator
实际上是在A上执行的,你不过是发出个命令。是在A上建立网络驱动I,而不是在你的机器上(C)建立网络驱动器
明白了吧?