Я пытаюсь использовать ' RESTORE HEADERONLY ', чтобы получить дату создания резервной копии, которую я собираюсь восстановить.
Команда:
RESTORE HEADERONLY FROM DISK = '<path to .bak file>'
прекрасно работает в Query Analyzer и дает набор результатов с примерно 50 столбцами.
Проблема на самом деле доступ к этому из кода.
Я могу получить это во временной таблице, объявив каждый столбец 50: ish, вставив в него значение exec
и получив от него желаемое значение.
Проблема в том, что я действительно хочу избежать объявления всего набора результатов как временной таблицы, поскольку это кажется очень хрупким решением, если в будущих версиях к нему будут добавлены столбцы.
Есть ли способ просто получить один столбец из этого набора результатов, не объявляя все столбцы?
sp_describe_first_result_set
система sp является виновником. Я также поднял этот вопрос в качестве отдельного билета здесьMARTINPC\MSSQL2008
), поэтому, возможно, что-то изменилось в более поздних версиях, что означает, что это больше не работает.Это независимый от версии sp я написал, чтобы получить дату резервного копирования из файла.
Он протестирован для SQL 2008R2, 2012 и 2014.
источник
12.0.4100.1
, поэтому код должен смотреть на все поля,SERVERPROPERTY('ProductVersion')
чтобы правильно учесть это.Поскольку вы спрашивали только о доступе к данным из «кода» без указания каких-либо подробностей о типе кода, я представляю решение PowerShell :
источник
Старомодный способ, для справки:
источник
12.0.4100.1
.