Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Dúvida sobre SHRINK - Recovery Simple / FULL, Single / Multi USER e Backup

Durante o vídeo da atividade 2 da aula 2 tive uma dúvida sobre o que foi dito em relação ao modo de recuperação para a realização do SHRINK, no vídeo o instrutor utilizar do recurso ALTER DATABASE SUCOS_VENDAS SET RECOVERY SIMPLE para alterar o modo de recuperação da base de dados para SIMPLES, para que nenhum outro usuário possa iniciar algum procedimento enquanto o SHRINK está acontecendo. Dito isto a minha dúvida é: qual vantagem o comando utilizado traz alem de impedir um usuário alheio de utilizar a base de dados? Não é melhor/possível utilizar um comando mais especifico para isto, como ALTER DATABASE SUCOS_VENDAS SET SINGLE_USER para setar a base de dados para usuário único e após voltar para multi usuário?

Junto a isso também tenho outra pergunta em relação ao SHRINK e BACKUP, onde por experiência já tentei realizar um SHRINKdo LDF, porem só consegui reduzi-lo de tamanho após realizar um backup do arquivos em questão através do SQL, na vez utilizei do BACKUP FULL da base de dados. Isto seria algum tipo de precaução que o SQL Server tem em relação a uma possível falha ou perdas de dados durante o processo ou apenas foi coincidência?

Desde já agradeço, e já digo que a trilha de SQL Server está muito boa.

1 resposta
solução

Gabriel

Uma coisa importante é que, quando apresentamos um assunto através de um treinamento, é necessário criar uma linha didática. Como o assunto era BACKUP e RECOVER utilizamos a diretiva SET RECOVERY SIMPLE. Mas a sua sugestão também é possível ser feita.

Minha experiência com bancos de dados SQL SERVER, realmente, são estranhas. As vezes uma coisa lógica se comporta como se fosse um ser vivo. As vezes alguns comportamentos são apresentados e, depois, com os mesmos comandos, outras coisas acontecem e a gente nunca sabe por que. Eu considero o SHRINK um comando super perigoso de fazer. A gente mexe com a estrutura interna do Db e não sabems o resultado final. Eu também sigo a sua linha e sempre tenho um BKP FULL antes do SHRINK porque não sou muito seguro do que vai acontecer e prefiro ter uma precaução.

Alguns posts na internet falam que o BKP FULLL grava antes todas as transações confirmadas do arquivo de log no mdf. Mas não vi nada oficial sobre o assunto.

Obrigado pelo elogio da trilha de cursos SQL SERVER. Este assunto é vasto e o objetivo foi ser superficial para que o aluno tenha uma noção completa do banco de dados.

Att

Victorino.