Lentidão nas consultas.
Uma causa comum para essa lentidão são os indices de uma tabela corrompida ou excessivamente fragmentadas, a solução é reconstruir esses indices.
Isso pode ser feito de duas formas, via comando (recomendado) ou interagindo pelo SQL Management Studio (método manual).
Repita as instruções abaixo para cada banco de dados a ser processado.
Via comando:
Substitua o DB_CLP_X na primeira linha pelo nome do banco de dados desejado e execute o comando, isso irá reconstruir todos os indices de todas as tabelas desse banco de dados.
USE DB_CLP_X
DECLARE @TableName varchar(255)
DECLARE TableCursor CURSOR FOR
SELECT table_schema + '.' + table_name
FROM information_schema.tables
WHERE table_type = 'base table'
OPEN TableCursor
FETCH NEXT FROM TableCursor INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
EXEC('ALTER INDEX ALL ON ' + @TableName + ' REBUILD')
FETCH NEXT FROM TableCursor INTO @TableName
END
CLOSE TableCursor
DEALLOCATE TableCursor
Operação manual:
A reparação é simples bastando executar o comando indicado na figura abaixo usando o Management Studio (clique direito sobre o item Indexes/Indices).
O único problema dessa forma é que será necessário repetir para todas as tabelas dentro do banco de dados, pois ele só reconstrói uma tabela por vez. No exemplo está sendo reconstruído a tabela TBL_CLP_FAST e terá que ser repetido para TBL_CLP_SLOW, TBL_CLP_XT1, TBL_CLP_XT2, etc.
Consulte o tópico Problemas diversos com os bancos de dados para mais soluções.
Nenhum comentário