将D:\1\11.db  拷贝到  D:\2\11.db
将D:\1\11.LOG  拷贝到  D:\2\11.LOG这里的D盘是和SQL SERVER同一个机器上的,怎么用SQL语句完成这个操作?

解决方案 »

  1.   

    --SQL 2005中先启用 XP_CMDSHELL命令-- To allow advanced options to be changed.
    EXEC sp_configure 'show advanced options', 1
    GO
    -- To update the currently configured value for advanced options.
    RECONFIGURE
    GO
    -- To enable the feature.
    EXEC sp_configure 'xp_cmdshell', 1
    GO
    -- To update the currently configured value for this feature.
    RECONFIGURE
    GO--执行Copy命令格式如下:declare @cmd varchar (1024)
    SET @Cmd=('master.dbo.xp_cmdshell '+'''xcopy D:\'+'文件名.txt'+' C:\'+''+' /y/s'+'''')
    EXEC (@Cmd)
      

  2.   

    XP_CMDSHELL  调用 系统的SHELL 操作文件就可以了
      

  3.   

    To 3楼:
    declare @Cmd varchar (1024)
    SET @Cmd=('master.dbo.xp_cmdshell '+'''xcopy D:\Program Files\同为科技\同为考勤管理系统\'+'ICXF.db'+' D:\DB_BACKUP\同为考勤管理系统\'+''+' /y/s'+'''')
    EXEC (@Cmd)
    执行后提示“无效的参数数量”
      

  4.   

    --我测试没有问题.declare @cmd varchar (1024)
    SET @Cmd=('master.dbo.xp_cmdshell '+'''xcopy D:\Test\Web\'+'PageValidate.cs'+' D:\Test\BLL\'+''+' /y/s'+'''')
    EXEC (@Cmd)
    --你检查下.目录是否存在.文件是否有效果.
      

  5.   

    会不会是Program Files 里面的空格的问题?
      

  6.   

    我的机器上确实不行啊。
    会不会是Program Files 里面的空格的问题?