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)

Entendendo a estrutura de dados do SQL Server

Olá. Gostaria de entender melhor o que foi feito nesta aula do curso. O professor digitou o seguinte código:

    USE SUCOS_VENDAS
    ALTER DATABASE SUCOS_VENDAS SET RECOVERY SIMPLE
    DBCC SHRINKDATABASE ('SUCOS_VENDAS', NOTRUNCATE)
    DBCC SHRINKDATABASE ('SUCOS_VENDAS', TRUNCATEONLY)
    ALTER DATABASE SUCOS_VENDAS SET RECOVERY FULL

Após executá-lo, ele mostrou que os arquivos físicos do banco ficaram menores. Mas estes comandos limpam o banco de dados (remove lixos) ou comprimem seu conteúdo?

Também não ficou claro pra mim por qual razão um DBA criaria um banco de dados com a propriedade FILEGROWTH, isso é útil em qual situação?

1 resposta
solução

A idéia do Shrink seria limpar o banco de dados. Porém , o problema é que isso causa fragmentação dos índices, então não basta apenas reduzir o tamanho do arquivo do banco, tem que reorganizar os índices.

Aqui tem uma explicação passo a passo sobre este processo:

https://imasters.com.br/data/bit-a-bit-com-shrink-no-sql-server

Sobre o Filegrowth, ele serve para evitar problemas de falta de espaço ao tentar fazer alguma operação no banco. Aqui tem algo que explica melhor:

https://blogs.msdn.microsoft.com/silasmendes/2017/02/26/sql-server-autogrowth/