1.先建一存储过程,用来返回备份的逻辑文件名:
create procedure sp_1
as
RESTORE FILELISTONLY FROM MyNwind_22.再在你的存储过程中取逻辑文件名:
declare @d varchar(50),@l varchar(50)
create table #t(LogicalName varchar(20),PhysicalName varchar(200),Type varchar(10),
  FileGroupName varchar(20),Size bigint,MaxSize bigint)
insert into #t exec sp_1
select @d=LogicalName from #t where type='D'
select @l=LogicalName from #t where type='L'
drop table #t
......--这里写恢复数据库命令,写成动态SQL语句,然后exec执行,我就不写了哈:D