declare @i int
declare @name varchar(10)
declare @temp varchar(10)
declare @path varchar(10)
declare @temppath varchar(10)
        set @i = 1 
set @temp=cast('zw000' as varchar(10))
set @temppath=cast('C:\back' as varchar(10))
        while @i <= 100
        begin
set @name=@temp + CAST ( @i AS VARCHAR(10) )
 set @path =@temppath +CAST ( @i AS VARCHAR(10) )
                restore database @name from disk=@path
                 set @i = @i + 1if @i=10
      set @temp=cast('zw00' as varchar(10))
if @i=100
set @temp  =cast('zw0' as varchar(10))
end -------------------------------------------------
你的语句我看来看去怎么也不像是在备份数据库吧-------------------------------------------------
数据库名也不行直接写在变量里头
restore database @name from disk=@path
用动态语句吧declare @sql varchar(8000)
set @Sql='restore database '+@name+ 'from disk= '+@path
exec(@Sql)