我是winform程序。
我可以通过sql语句得到,服务器上的sql的备份目录通过下面的语句进行删除declare @cmd varchar(40)
set @cmd=“del D:\Microsoft SQL Server\MSSQL\BACKUP\DSXY-20080412155343.bak'
exec xp_cmdshell @cmd提示找不到系统路径
我查下,是应为Microsoft SQL Server,MSSQL,BACKUP是只读文件夹。我用这个语句删服务器上的不只读文件都可以删除。
问下,怎么删除只读目录下的文件??????????????????????????

解决方案 »

  1.   

    declare @cmd varchar(400) 
    set @cmd=“del D:\Microsoft SQL Server\MSSQL\BACKUP\DSXY-20080412155343.bak' 
    exec xp_cmdshell @cmd 你定义的变量长度太短了,改为400
      

  2.   

    先用attrib 把文件的只读属性去掉,然后再删除。
      

  3.   

    attrib 怎么去掉?
    sql语句怎么写呢?我好想是 文件夹是只读的?大哥!
      

  4.   

    我只是提个建议:
    先看一下attrib的语法
    http://www.esanenu.com/10/Article_Show2.asp?ArticleID=371然后用存储过程运行一下,看看是不是能去掉只读属性。
      

  5.   

    在安全性中 找到 sa用户,右击属性,里面有个服务器角色  把角色改一下就ok啦,我的是sql2005的