set nocount on
declare @dbName sysname
declare @backupPath nvarchar(500)
declare @cmd nvarchar(500)
DECLARE @fileList TABLE (backupFile NVARCHAR(255))
DECLARE @lastFullBackup NVARCHAR(500)
DECLARE @lastDiffBackup NVARCHAR(500)
DECLARE @backupFile NVARCHAR(500)
set @dbName='gprs0719'
set @backupPath='E:\2010.6.21测试采集\gprs0719'
set @cmd='DIR/b'+@backupPath
print @cmd
insert into @fileList(backupFile) exec master.sys.xp_cmdshell @cmd服务器: 消息 197,级别 15,状态 1,行 13
无法在向表插入变量时将 EXECUTE 用作源。原文在这儿,
http://dev.firnow.com/course/7_databases/sql/sqlServer/20100702/313195.html
我要定时自动恢愎一个数据库
看到这个例子,但是报了很多错,大家帮帮忙,小妹非常急

解决方案 »

  1.   

    set nocount on
    declare @dbName sysname
    declare @backupPath nvarchar(500)
    declare @cmd nvarchar(500)
    DECLARE @fileList TABLE (backupFile NVARCHAR(255))
    DECLARE @lastFullBackup NVARCHAR(500)
    DECLARE @lastDiffBackup NVARCHAR(500)
    DECLARE @backupFile NVARCHAR(500)
    set @dbName='gprs0719'
    set @backupPath=' E:\2010.6.21测试采集\gprs0719'
    set @cmd='DIR/b'+@backupPath
    print @cmd
    insert into @fileList(backupFile) exec master.sys.xp_cmdshell @cmd
    select * from @filelist
    --PS 语法貌似没什么问题
      

  2.   

    服务器: 消息 197,级别 15,状态 1,行 15
    无法在向表插入变量时将 EXECUTE 用作源。
    提示这个错误
      

  3.   

    是呀,我是windows2003+sql server 2000是不是权限一类的问题呢?
      

  4.   

    2000
    你定义个实体表 代替@fileList表变量看看
    我没2000环境
      

  5.   

    服务器: 消息 2812,级别 16,状态 62,行 14
    未能找到存储过程 'master.sys.xp_cmdshell'。
    我看了,master的扩展里有这个过程
    是不是在权限方面有问题呢