Estou procurando implantar o envio de logs em meu ambiente de produção. Isso significa que terei que gerenciar cadeias de backup que podem ser interrompidas por pessoas que fazem backups para atualizar os ambientes de desenvolvimento. Se eu tiver uma falha e quiser usar os backups de log para restaurar em um ponto no tempo, também precisarei do backup feito pelo desenvolvedor.
Isso não aconteceria se os desenvolvedores usassem apenas backups COPY ONLY. Então, minha pergunta é: Existe uma maneira de restringir os usuários para apenas executar backups COPY ONLY?
Você não precisa que eles usem arquivos
COPY_ONLY
. Somente um intermediárioLOG BACKUPS
quebrará o arquivoLSN
. O que você pode fazer é privilégio explicitamenteDENY BACKUP LOG to [user|group]
para desenvolvedores ou grupo de desenvolvedores. Como alternativa, basta criar um ROLE e negar o log de backup para esse papel. Portanto, todos os usuários nessa função herdarão as permissões.por exemplo
Agora teste:
Boa pergunta para a qual não consigo encontrar uma boa resposta, mas aqui está uma. E se você removesse todos da função de backup e criasse uma tarefa que usasse o comando execute as para um usuário específico que descartasse o arquivo de backup copy_only em um local específico?
O que você pode fazer é 1) negar backups (log e/ou completo) para esses usuários, mas ainda 2) permitir que eles iniciem um trabalho que execute backup somente cópia de um banco de dados específico (executando em uma conta concedida permissão de backup). Eu tenho uma solução para automatizar restaurações automatizadas de bancos de dados PROD para PRE-PROD para fins de investigação; usuários específicos têm acesso a um trabalho (no PRE-PROD) que faz um backup somente cópia no PROD, move o arquivo do PROD para o PRE-PROD e restaura o backup movido no servidor PRE-PROD. Assim, garantindo que esses usuários não tenham como quebrar a lógica de backup no PROD.
(Ao investigar problemas, os desenvolvedores podem ficar tentados a fazer um backup completo para restaurá-lo em um servidor de teste, movendo o arquivo da fonte para o servidor de teste sem saber que estão quebrando a lógica de backup... -somente backups é importante.)