Oi,
As estatísticas dos objetos de banco de dados devem estar atualizadas para tomar a decisão certa do otimizador do SQL Server.
Se as estatísticas dos objetos de banco de dados não estiverem atualizadas, o otimizador de banco de dados do SQL Server tomará uma decisão errada para o plano de execução da transação.
Você pode atualizar todas as estatísticas do banco de dados com o seguinte script em uma instância do SQL Server.
Você deve executar a seguinte consulta em um tempo livre do banco de dados, por exemplo, à noite ou fins de semana.
DECLARE @SQL VARCHAR(1000) DECLARE @DB sysname DECLARE curDB CURSOR FORWARD_ONLY STATIC FOR SELECT [name] FROM master..sysdatabases WHERE [name] NOT IN ('model', 'tempdb') ORDER BY [name] OPEN curDB FETCH NEXT FROM curDB INTO @DB WHILE @@FETCH_STATUS = 0 BEGIN SELECT @SQL = 'USE [' + @DB +']' + CHAR(13) + 'EXEC sp_updatestats' + CHAR(13) PRINT @SQL FETCH NEXT FROM curDB INTO @DB END CLOSE curDB DEALLOCATE curDB