Preciso descartar programaticamente um banco de dados com todos os seus instantâneos e, em seguida, recriar o banco de dados e criar um novo instantâneo. Estou tendo problemas para localizar onde os arquivos de instantâneo estão localizados em uma consulta.
Essencialmente, temos vários ambientes e eles não são consistentes em onde colocam esses arquivos, então preciso que meu código seja inteligente o suficiente para colocar esses arquivos de volta onde estavam.
Só para esclarecer: quando digo os arquivos de instantâneo, quero dizer os arquivos .ss.
Você pode identificar instantâneos do banco de dados
sys.databases
pela colunasource_database_id
não ser nula.Junte-se a ele
sys.master_files
e pronto:Caso precise filtrar um banco de dados de origem específico, você pode adicionar esse predicado à
WHERE
cláusula.