Sep 5 2011

#QuickTip 9 - [SQL Server] Como recompilar todos os indices de todas as tabelas da base de dados

Category: QuickTip | SQL ServerSuzuki @ 15:44

Olá pessoal,
Esta é uma dica bem rápida, mas que com certeza pode ser muito útil, pra você que esta fazendo uma manutenção na sua base SQL Server.
Como executar o DBCC DBREINDEX pra todas as tabelas na nossa base de dados?

Antes de colocar o código, algumas comentários.
Segundo a documentação o DBCC DBREINDEX recria um ou mais índices de uma tabela no banco de dados especificado.
Outra informação importante no site da MSDN: Esse recurso será removido em uma versão futura do Microsoft SQL Server. Não utilize esse recurso em desenvolvimentos novos e modifique, assim que possível, os aplicativos que atualmente o utilizam. Use ALTER INDEX.
Para maiores detalhes visite - http://msdn.microsoft.com/en-us/library/ms181671.aspx.

O código que executaremos irá usar uma dica ja utilizada aqui no ninja code, que é como utilizar a procedure SP_MSFOREACHTABLE.
Veja a postagem: #QuickTip 4 - [SQL Server] Como executar um select count em todas as tabelas de uma base de dados
Seguem os dois modos de executar o script:

  1. --Recompilar todos os indexes de todas as tabelas da base de dados   
  2. EXEC SP_MSFOREACHTABLE @COMMAND1="PRINT '?' DBCC DBREINDEX ('?', ' ', 80)"  
  3. --OU   
  4. EXEC SP_MSFOREACHTABLE 'PRINT ''?'' DBCC DBREINDEX (''?'', '' '', 80)'  

Espero que tenha sido útil.
Até a próxima.

 

Falou-lhes, pois, Jesus outra vez, dizendo: Eu sou a luz do mundo; quem me segue não andará em trevas, mas terá a luz da vida. (João 8:12)

Tags: , , , ,

Comments

1.
pingback thiagosatoshisuzuki.wordpress.com says:

Pingback from thiagosatoshisuzuki.wordpress.com

#QuickTip 9 – [SQL Server] Como recompilar todos os indices de todas as tabelas da base de dados « Thiago Satoshi Suzuki

Add comment


(Will show your Gravatar icon)

  Country flag

biuquote
  • Comment
  • Preview
Loading