我试图编写一个自动备份并还原T-SQL脚本。我做了BACKUP部分,但我在RESTORE上苦苦挣扎。SQL Server“RESTORE FILELISTONLY”结果集
当我在SS Management Studio上运行以下语句时;
EXEC('RESTORE FILELISTONLY FROM DISK = ''C:\backup.bak''')
我得到了一个定格的结果,也是我可以使用
INSERT INTO <temp_table>
EXEC('RESTORE FILELISTONLY FROM DISK = ''C:\backup.bak''')
填充一个临时表。但是,当我尝试从该结果集中选择时,出现语法错误。例如
SELECT * FROM
EXEC('RESTORE FILELISTONLY FROM DISK = ''C:\backup.bak''')
结果集元数据应该存储在SQL Server字典的某处。我发现其他创可贴公式可以让我的自动恢复工作,但如果可以找到结果集,我会创建更优雅的解决方案。同时请注意,结果集,2008年不同于2005年
在此先感谢...
感谢您的回复。但我困惑的是,EXEC评论从某处(字典,元数据等)找到了来自RESTORE命令的字段。为什么选择不能访问相同的资源来提取结果集字段。 – mevdiven 2010-03-25 12:58:59
EXEC从结果集中获取字段。没有涉及字典和元数据。 – 2010-03-25 23:18:03