Vou adicionar uma resposta separada para abordar alguns dos seus comentários. O VSS é um bom caminho a percorrer se você estiver tentando desativar os dados. Na verdade, o MSFT DPM usa esse subsistema com grande eficácia com o SQL, pelo que entendi. É claro que eles tinham equipes dedicadas para dividir as coisas.
O VSS não estraga o SQL, mas pode (e tem) interferido nos métodos de backup nativos do SQL (veja minha resposta a uma pergunta aqui para mais alguma introspecção). Você precisa estar bem ciente do que está tentando realizar, do que o VSS está fazendo e se os dois estão ou não coincidentes.
Você pode escrever algo para chamar nativamente as APIs do VSS (não me pergunte como, eu não sou um desenvolvedor), ou você pode usar algo como vshadow.exe para fazer e manipular cópias de sombra para você. Vshadow.exe está disponível no MSFT SDK; Certifique-se de obter a versão correta para o seu SO.
Dependendo do modelo de recuperação do SQL, o SQL reagirá de maneira diferente quando o VSS for chamado. Já faz um tempo desde que eu lidei com o nitty gritty de SQL e VSS, mas pelo que eu me lembro se você tiver o Simple Recovery Model definido, os logs truncarão quando o VSS for chamado. Em Full e Bulk-Logged, este não será o caso e você precisará fazer algo para gerenciar o tamanho dos logs.
E você provavelmente sabe disso, mas teste, teste e teste. Seus instantâneos só serão bons se você puder restaurá-los.