Formas de estimar o tempo para executar um encolhimento de banco de dados no SQL Server

3

Existe uma maneira de aproximar quanto tempo uma redução demorará em um banco de dados do SQL Server? Existem ferramentas disponíveis que poderiam fornecer alguma estimativa?

Temos bancos de dados muito grandes, por isso seria bom saber por quanto tempo o banco de dados ficaria indisponível (mesmo que seja apenas uma estimativa aproximada em horas).

Obrigado antecipadamente!

    
por Fuzzy Purple Monkey 08.07.2010 / 04:23

3 respostas

4

A redução de um banco de dados é raramente recomendada, pois causa a fragmentação do índice e do disco. Se você precisar encolher um arquivo, a operação é uma operação online e não deixará o banco de dados offline.

    
por 08.07.2010 / 08:49
2

Eu não acredito que o banco de dados estará indisponível enquanto uma redução está ocorrendo. Acredito que isso seja válido tanto para DBCC SHRINKDATABASE, DBCC SHRINKFILE quanto para o banco de dados e \ ou arquivos do SSMS. O banco de dados não é colocado no modo de usuário único enquanto está sendo reduzido. A única ressalva de que estou ciente é que o banco de dados não pode ser reduzido durante o backup.

    
por 08.07.2010 / 04:29
2

A única razão válida que posso pensar para executar uma redução é se você tiver transformado a compactação de tabela ou tiver mais espaço livre alocado e estiver ficando sem espaço em disco.

restaure o banco de dados em algum outro kit semelhante & execute a mesma operação.
Mesmo que seja um hardware mais antigo, pelo menos você tem uma linha de base para comparação.

Dê uma olhada na execução do psiquiatra com a opção TRUNCATEONLY, essa é uma operação & pode liberar espaço suficiente sem a necessidade de executar movimentações de página, que é o que causa o bloqueio de tabela.

    
por 08.07.2010 / 14:37