如何捕获以下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')
我基本上想查询LogicalName
和PhysicalName
列以查找某些管理任务。
或者有更简单的方法吗?
答案 0 :(得分:4)
如果您的逻辑是在T-SQL中,那么唯一的方法是使用INSERT ... EXEC ...就像您在帖子中已有的那样。它可以是#temp表,也可以是@variable表。
其他替代方法是将逻辑从T-SQL转移到CLR程序或SSIS工作流程中。