Лично това е един сценарий, при който бих избегнал чист TSQL и бих използвал външен скрипт или програма. В зависимост от това, което се опитвате да направите, може да откриете, че използването на Smo от Powershell или .NET така или иначе напълно избягва нуждата от TSQL. Казвам го, защото работата с резервни копия изглежда винаги води до работа с файлове извън базата данни и тогава TSQL е просто твърде неудобен.
Казвайки всичко това, ако сте сигурни, че трябва да направите това в TSQL, тогава можете да направите нещо подобно:
insert into dbo.BackupFiles (LogicalName, PhysicalName, ...)
exec('RESTORE FILELISTONLY FROM DISK = ''c:\Test\Test.bak''')
Или за да бъда малко по-добър:
declare @Command nvarchar(4000)
-- you can build the command string some other way, of course
set @Command = N'RESTORE FILELISTONLY FROM DISK = ''c:\Test\Test.bak'''
insert into dbo.BackupFiles (LogicalName, PhysicalName, ...)
exec sp_executesql @Command
Все пак ще трябва първо да създадете таблицата, което не е голяма работа и така или иначе има смисъл, ако правите това често. Books Online изброява типа данни за всяка колона в набора от резултати, но поне за мен (SQL2008 SP1) документацията не съответства на действителния набор от резултати, така че може да се наложи да го промените.