SQL Server – Re-criar índices de todas as tabelas

Aqui está um script maroto para re-criar os índices de todas as tabelas no SQL Server :)

SET NOCOUNT ON

DECLARE @TableName varchar(30) 
DECLARE @TableName_Header varchar(75) 

DECLARE tnames_cursor CURSOR FOR SELECT name FROM sysobjects WHERE type = 'U' 
OPEN tnames_cursor 

FETCH NEXT FROM tnames_cursor INTO @TableName 

While (@@Fetch_Status  -1) 
Begin 
	If (@@Fetch_Status  -2) 
	Begin 
		SELECT @TableName_Header = 'Atualizando ' + RTrim(Upper(@TableName)) 
		PRINT @TableName_Header 
		EXEC ('DBCC DBREINDEX ([' + @TableName + '], " ",70)') 
	End 

	FETCH NEXT FROM tnames_cursor INTO @TableName 
End 

PRINT ' ' 
PRINT ' ' 
SELECT @TableName_Header = 'Não existe mais tabelas' 
PRINT @TableName_Header 

PRINT ' ' 
PRINT 'Atualização dos Indices - FIM' 
DEALLOCATE tnames_cursor 

GO 

SET NOCOUNT OFF

Alan Machado

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s