情况是这样的,我在备份数据库文件时准备在备份的后,将备份文件拷贝至指定的文件服务器上。在一台机器上使用正常,在另一台服务器上经本地测试完全可行(CMD命令执行),可以连接上,可以正常拷贝文件。但是在数据库查询分析器里面执行命令就不行,命令肯定没错,就是不知道是哪里设置有问题还是怎么。两台服务器我都对比了一下,权限都是本地的,但是这台就是死活执行不了,总提示“拒绝访问”。我的连接远程地址的命令如下:
exec master.dbo.xp_cmdshell 'net use \\backup\database\SQL\dec password /user:BESTSELLER\username'
不知道哪位大神遇到这种情况,还望指点下小弟。

解决方案 »

  1.   

    http://blog.sina.com.cn/s/blog_812117df01011tnu.html
    http://www.51testing.com/?uid-362633-action-viewspace-itemid-227950
      

  2.   

    抱歉,可能我没有表达清楚,我在这台服务器上用CMD执行命令是可以了,也就是说不存在无法访问这个远程的路径。但是在数据库里面用xp_cmdshell执行命令就提示拒绝访问。
    就是说,在CMD里面执行“net use \\backup\database\SQL\dec password /user:BESTSELLER\username”可以连接上。
    但是在数据库里面执行 “exec master.dbo.xp_cmdshell 'net use \\backup\database\SQL\dec password /user:BESTSELLER\username' ”就不行,提示拒绝访问。
      

  3.   

    LZ启用代理凭据了吗?》
    xp_cmdshell 默认情况下处于禁用状态的参考http://msdn.microsoft.com/zh-cn/library/ms190359.aspx
      

  4.   


    --'net use \\backup\database\SQL\dec   这必须是个网络路径啊!!即使是本机 例如:
    --   \\192.168.0.1\backup\database\SQL\dec
      

  5.   

    多谢楼上两位的回答,但是我前面说过,这个命令在其他机器上是可以运行的“exec master.dbo.xp_cmdshell 'net use \\backup\database\SQL\dec password /user:BESTSELLER\username' ”也就是说,这个命令本身没有问题。至于xp_cmdshell这个肯定是处于启用状态了,因为通过xp_cmdshell执行备份命令等均没有问题。
      

  6.   

    问题可能出现在SQL Server的启动帐号上面,启动帐号,你把启动帐号加到两台机器的管理员组看一下!
    一半来说,基本上cmd里面的OK,cmdshell也OK的!
      

  7.   

    请看看你启动sql server服务的账户是不是NT AUTHORITY\SYSTEM(local system),如果不是 请停止sql server服务 设置以local system启动 然后再启动sql server服务器,我相信问题会解决