Набор результатов “RESTORE FILELISTONLY” SQL Server

Я пытаюсь записать автоматизированное резервное копирование и восстановить сценарии T-SQL. Я внес свой вклад, но я борюсь на ВОССТАНОВЛЕНИИ.

Когда я выполняю следующее утверждение на Studio управления SS;

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.

Заранее спасибо...

14
задан mevdiven 24 March 2010 в 21:22
поделиться

1 ответ

Вы не можете ВЫБРАТЬ из EXEC. Вы можете только ВСТАВИТЬ в таблицу (или табличную переменную) набор результатов EXEC.

Что касается автоматического восстановления, ответ на Полностью автоматизированное восстановление SQL Server уже дает вам все необходимое для создания решения. Стоит ли пытаться автоматизировать восстановление баз данных со списком неизвестных файлов, это уже другая тема.

9
ответ дан 1 December 2019 в 06:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: