Estoy tratando de escribir una copia de seguridad automatizada y restaurar scripts de T-SQL. He hecho la parte BACKUP pero estoy luchando en RESTORE.SQL Server "RESTORE FILELISTONLY" Resultados
Cuando ejecuto la siguiente declaración en SS Management Studio;
EXEC('RESTORE FILELISTONLY FROM DISK = ''C:\backup.bak''')
puedo obtener un conjunto de resultados en una cuadrícula y también se puede utilizar
INSERT INTO <temp_table>
EXEC('RESTORE FILELISTONLY FROM DISK = ''C:\backup.bak''')
para poblar una tabla temporal. Sin embargo, recibo un error de sintaxis cuando trato de seleccionar de ese conjunto de resultados. por ejemplo,
SELECT * FROM
EXEC('RESTORE FILELISTONLY FROM DISK = ''C:\backup.bak''')
Los metadatos del conjunto de resultados deben almacenarse en algún lugar del Diccionario de SQL Server. Encontré otra fórmula de curita para que funcione mi restauración automatizada, pero si pudiera llegar al resultado, crearía una solución más elegante. También tenga en cuenta que es diferente de resultados en 2008 que en 2005.
Gracias de antemano ...
Gracias por la respuesta. Pero me sorprendió que el comentario de EXEC encuentre campos del comando RESTORE de algún lado (diccionario, metadatos, etc.). Por qué select no puede acceder al mismo recurso para extraer los campos del conjunto de resultados. – mevdiven
EXEC obtiene los campos del conjunto de resultados. No hay diccionario ni metadatos involucrados. –