如果为 MSSQLServer 服务选用的 Windows NT 帐户不是本地管理员组的成员,则非 sysadmin 固定服务器角色成员的用户将无法执行 xp_cmdshell。

解决方案 »

  1.   

    归根结底是权限问题
    如:
       SQLServer要拷备到FileServer上
       那你的SQLServer的启动用户必须在FileServer上有足够的权限!
    --------------------^^^---------------------------------
    1、SQLServer上新建一SQLUser用户权限大一点。
    2、FileServer上建同一用户对某一文件夹有足够权限。
    3、两机的SQLUser密码相同(方便一点)
    4、将SQLServer改为SQLUser启动
       (管理工具-->服务-->mssql项-->属性-->指定用户及密码)
    5、\\192.168.*.*\文件夹\就可以了
    -----------------------------------------------------------
    简单一点就是:
    如果你两台都是windows2ks
    你的机器也用同样的Administrator密码,且sql服务器用administrator启动
    那你写设备时就可以写:\\ip\.......如果对方是98那你要完全共享一下!
    你写设备时就可以写:\\ip\.......
      

  2.   

    在DOS命令提示下运行成功吗?
      

  3.   

    用windows身份验证试试,administrator,不用sql的帐号
      

  4.   

    dos下执行是可以的,而且我已经做了映射了。
    SQLServer要拷备到FileServer上???不明白是什么意思??
    改成用Administrator 登录,sql 也用Administrator 启动,命令改为:exec xp_cmdshell  'mkdir  '\\ip地址\123'还是拒绝访问!:(
    另外,我怎么加到域里面,sql 和远程机器都是win 2000 server 网络中有主域服务器!
      

  5.   

    sql server 使用本地SYSTEM 帐号
    连接到其他机器的话 本地administrator是没有用的
    你可以试试这样 
    先将本地机器加入 domain (不知道怎么做?我就晕了……去看看M$的帮助)
    把一个domain user加为本地administrators(用户管理里找到administrators组,选“成员”——添加——然后浏览域找到该user,前提是你的机子已经加入域)然后用这个帐号启动sql server
    在文件服务器上对相应的文件夹的共享权限设为该domain user可写  。
    然后去xm_cmdshell一下
      

  6.   

    如果dos下运行没问题,那肯定是权限问题了
      

  7.   

    归根结底是权限问题
    如:
       SQLServer需要取FileServer上的文件
       那你的SQLServer的启动用户必须在FileServer上有足够的权限!
    --------------------^^^---------------------------------
    1、SQLServer上新建一SQLUser用户权限大一点。
    2、FileServer上建同一用户对某一文件夹有足够权限。
    3、两机的SQLUser密码相同(方便一点)
    4、将SQLServer改为SQLUser启动
       (管理工具-->服务-->mssql项-->属性-->指定用户及密码)
    5、\\192.168.*.*\文件夹\ShareBak.Bak就可以了
    -----------------------------------------------------------
    简单一点就是:
    如果你两台都是windows2ks
    你的机器也用同样的Administrator密码,且sql服务器用administrator启动
    那你写设备时就可以写:\\ip\.......如果对方是98那你要完全共享一下!
    你写设备时就可以写:\\ip\.......