DBCC ShrinkDatabase()
DBCC ShrinkFile()
- Preciso executar os dois comandos DBCC para reduzir o banco de dados?
- Qual é a diferença entre esses dois acima?
DBCC ShrinkDatabase()
DBCC ShrinkFile()
Respostas:
Simplesmente...
DBCC ShrinkDatabase()
: encolher todos os arquivosDBCC ShrinkFile()
: apenas um arquivoPor exemplo, você pode ter um problema de backup de log e ele fica fora de controle e é executado DBCC ShrinkFile()
.
Você quase nunca usa ShrinkDatabase
.
Antes de considerar usar qualquer comando, leia o blog de Paul Randal sobre encolhimento .
Eu não reduziria nenhum dos arquivos (mdf, ldf), a menos que houvesse um motivo claro. Os arquivos têm o tamanho que precisam porque precisam ter. Os blogs que sugerem fazer isso como parte da manutenção regular provavelmente não entendem como o SQL Server funciona.
Um banco de dados padrão possui dois arquivos
MyDb.MDF e MyDb.LDF
O arquivo MDF é o arquivo de dados em que a partição primária reside. Dependendo das suas necessidades, você pode particionar um banco de dados em vários arquivos. Isso é feito para que os dados (tabelas únicas ou múltiplas) possam abranger vários arquivos que geralmente são colocados em discos rígidos separados para obter um desempenho mais alto.
Se você reduzir um banco de dados, todos os arquivos associados a esse banco de dados serão reduzidos.
Se você reduzir um arquivo, somente o arquivo escolhido será reduzido.
Você só precisa usar o comando Encolher banco de dados. Mas geralmente não é uma boa prática fazer isso e também não é uma prática recomendada.
Se você nos informar qual é o problema que está enfrentando, podemos fornecer mais informações sobre como resolvê-lo.
Provavelmente usamos apenas o arquivo shrink dbcc. sp_helpdb 'databasename' fornece a lista de arquivos de dados e log em um banco de dados.
Clique com o botão direito do mouse no mnagement studio, o arquivo task-> shrink-> fornece quanto% você pode encolher.
seja o que for que reduzimos, ele está disponível de volta no disco como espaço livre.
por exemplo: use 'databasename' dbcc shrinkfile (fileid, 100)
aqui 100 é 100 MB
fileid pode ser obtido no sp_helpdb 'databasename'