如何从RESTORE FILELISTONLY从DISK中捕获结果集...所以我可以查询它?

时间:2010-06-18 18:10:09

标签: sql sql-server tsql sql-server-2008

如何捕获以下SQL语句的输出,以便查询结果集?:

RESTORE FILELISTONLY FROM 
    DISK = N''D:\Restores\MyBackup.BAK'' WITH NOUNLOAD,  
    FILE = 1

我是否需要创建临时表,然后执行类似?:

的操作
INSERT #tmp EXEC ('RESTORE FILELISTONLY FROM  
    DISK = N''D:\Restores\KevsProfilerTraces.BAK'' WITH  NOUNLOAD,  FILE = 1')

我基本上想查询LogicalNamePhysicalName列以查找某些管理任务。

或者有更简单的方法吗?

1 个答案:

答案 0 :(得分:4)

如果您的逻辑是在T-SQL中,那么唯一的方法是使用INSERT ... EXEC ...就像您在帖子中已有的那样。它可以是#temp表,也可以是@variable表。

其他替代方法是将逻辑从T-SQL转移到CLR程序或SSIS工作流程中。