Estou tentando usar ' RESTORE HEADERONLY ' para obter a data em que o backup que estou prestes a restaurar foi feito.
O comando:
RESTORE HEADERONLY FROM DISK = '<path to .bak file>'
funciona bem no Query Analyzer e fornece um conjunto de resultados com algo como 50 colunas.
O problema é realmente acessar isso a partir do código.
Eu posso colocar isso em uma tabela temporária declarando cada uma das colunas 50: ish, inserindo nela exec
e obtendo o valor que eu quero a partir daí.
O problema é que eu realmente quero evitar ter que declarar todo o conjunto de resultados como uma tabela temporária, pois parece uma solução muito frágil se eles adicionarem colunas a ele em versões futuras.
Existe alguma maneira de obter uma única coluna desse conjunto de resultados sem declarar todas as colunas?
sp_describe_first_result_set
sistema sp é o culpado por trás. Eu também levantou esta questão como um bilhete separado aquiMARTINPC\MSSQL2008
), então talvez algo tenha mudado nas versões posteriores, o que significa que isso não funciona mais.Esta é uma versão independente do sp que escrevi para obter a data de backup de um arquivo.
Foi testado para SQL 2008R2, 2012 e 2014.
fonte
12.0.4100.1
, então o código deve examinar todos os camposSERVERPROPERTY('ProductVersion')
para atender corretamente a isso.Como você só perguntou sobre o acesso aos dados do 'código' sem especificar detalhes de que tipo de código, apresento a solução do PowerShell :
fonte
À moda antiga, para referência:
fonte
12.0.4100.1
.