不是权限问题把,操作系统中是Administrator,SQL中是sa

解决方案 »

  1.   

    ---tyr:
    EXEC master.dbo.xp_cmdshell 'd:\ab\p.exe   beep',no_output
      

  2.   

    看你的sa账户可以不可以执行windows程序,看sqlagent服务里面
      

  3.   

    除了权限,可以查一下exe文件是否需要其它文件的支持,比如一些ini,或config或xml.可能是由于路径引起的. 使用 xp_cmdshell 调用文件时会定位到文件指定目录找到文件,但执行路径在 %system root% 下面,以win2003为例是在 windows/system32下. 所以从外部执行正确,而sql中有权限的帐号执行时会异常,一般都是这个问题引起的.如果你确定你的exe读取了对应的一些配置文件或其它的依赖文件或程序集,那么解决方法:
    1,将其它文件拷贝到 %system root%下.
    2,或者建批处理文件即.bat文件, .bat文件在要执和地文件前面加一句path指令:  path=d:\ab
      

  4.   

    EXEC master.dbo.xp_cmdshell 'cd d:\ab
    p.exe beep',no_output