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.

Helptec+SQL-Server+Reconstruir-Indices.png

 


Consulte o tópico Problemas diversos com os bancos de dados para mais soluções.