Softshop > Desempenho: SISTEMA LENTO
Software: SOFTSHOP | Grupo: SOFTSHOP > ANALISE
Solução
Um dos motivos de sistema lento no Organizar estoque são os índices desfragmentados no banco SQL.
O script abaixo vai executar o comando REBUILD em todos os índices de todas as tabelas de todos os bancos (exceto bancos padrão do SQL Server), recriando automaticamente todos os indices
1 - Abra o SQL Management Studio
2 - Clique em "Nova Consulta"
3 - Copie e cole na consulta o seguinte Script:
DECLARE @Database NVARCHAR(255)
DECLARE @Table NVARCHAR(255)
DECLARE @cmd NVARCHAR(1000)
DECLARE DatabaseCursor CURSOR READ_ONLY FOR
SELECT name FROM master.sys.databases
WHERE name NOT IN ('master','msdb','tempdb','model','distribution')
AND state = 0
AND is_in_standby = 0
ORDER BY 1
OPEN DatabaseCursor
FETCH NEXT FROM DatabaseCursor INTO @Database
WHILE @@FETCH_STATUS = 0
BEGIN
SET @cmd = 'DECLARE TableCursor CURSOR READ_ONLY FOR SELECT ''['' + table_catalog + ''].['' + table_schema + ''].['' +
table_name + '']'' as tableName FROM [' + @Database + '].INFORMATION_SCHEMA.TABLES WHERE table_type = ''BASE TABLE'''
EXEC (@cmd)
OPEN TableCursor
FETCH NEXT FROM TableCursor INTO @Table
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN TRY
SET @cmd = 'ALTER INDEX ALL ON ' + @Table + ' REBUILD'
EXEC (@cmd)
END TRY
BEGIN CATCH
PRINT '---'
PRINT @cmd
PRINT ERROR_MESSAGE()
PRINT '---'
END CATCH
FETCH NEXT FROM TableCursor INTO @Table
END
CLOSE TableCursor
DEALLOCATE TableCursor
FETCH NEXT FROM DatabaseCursor INTO @Database
END
CLOSE DatabaseCursor
DEALLOCATE DatabaseCursor
4 - Clique em Executar e aguarde o término da consulta.
Tags: lento, indice, orgamizar, estoque