-- 最后一句改为:
exec('master..xp_cmdShell ''osql -U"sa" -P -S"127.0.0.1" -Q '''+@s+' ')

解决方案 »

  1.   

    declare @s as varchar(8000)
    set @s=' use master    
    declare @Data_Path as varchar(100),@Log_Path as varchar(100)   
       select @Data_Path=ltrim(rtrim(filename)) from water..sysfiles where charindex(''MDF'',filename)>0  
    select @Log_Path=ltrim(rtrim(filename)) from water..sysfiles where charindex(''LDF'',filename)>0   
    RESTORE DATABASE water FROM DISK = ''c:\water.bak'' with replace, move ''water_Data'' to @Data_Path, 
    move ''water_Log'' to @Log_Path '
    set @s=''osql -U"sa" -P -S"127.0.0.1" -Q '''+@s+' '
    exec master..xp_cmdshell @s