Realmente, foi um pouco falta de atenção, realmente o Express não tem plano de manutenção, teria de ser via t-sql mesmo e agendar via Scheduler do Windows, vê se isso te ajuda irmão, esse script ele recria os índices e recompila suas procedures.
if exists(select 1 from sysobjects s where s.type = 'P' and s.name = 'up_otimiza_bd') drop procedure up_otimiza_bd go create procedure up_otimiza_bd as Print '--------------------------------------------------------------' Print 'Esta procedure deve ser executada REGULARMENTE.' Print 'Isto deixara a performance do banco de dados otimizada!' Print '--------------------------------------------------------------' declare @banco varchar(255) declare @tabela varchar(255) declare @versao int select @banco = rtrim(db_name()) Select @versao = (select version from master..sysdatabases S Where s.name = db_name()) Print '' Print '-----------------------------------------------------------' Print 'Desfragmentando/Reindexando as Tabelas do Banco de Dados!' Print '-----------------------------------------------------------' set @tabela = '' If @versao = 539 Begin while 1=1 begin select @tabela = Min(name) from sysobjects where type = 'U' and name > @tabela if @tabela is null break Print '' print 'Reindexando ' + @tabela DBCC dbreindex(@tabela, '', 80 ) Print @tabela + ' Reindexada com Sucesso!' end End If @versao = 515 Begin while 1=1 begin select @tabela = Min(name) from sysobjects where type = 'U' and name > @tabela if @tabela is null break Print '' print 'Reindexando ' + @tabela DBCC dbreindex(@tabela, '', 70 ) Print @tabela + ' Reindexada com Sucesso!' end End Print '' Print '---------------------------------------' Print 'Atualizando Estatistica dos Indices!' Print '---------------------------------------' exec sp_updatestats Print '' Print '-----------------------------------------------' Print 'Recompilando as Procedures do Banco de Dados!' Print '-----------------------------------------------' declare @Proc varchar(255) declare @Exec varchar(255) set @Proc = '' while 1=1 begin select @Proc=min(name) from sysobjects where type = 'P' and name > @Proc if @Proc is null break Print '' Print 'Recompilando a procedure ' + @Proc set @exec = 'exec sp_recompile ' + rtrim(ltrim(@Proc)) execute (@exec) Print @Proc + ' Recompilada com Sucesso!' end Print '' Print '----------------------------------' Print 'Otimizacao do Banco de Dados Concluida!' Print '----------------------------------' ----exec up_otimiza_bd
Para setar a váriavel @versão você precisa verificar a versão do seu banco na sysdatabase (select version from master..sysdatabases) após criar a procedure efetue o exec up_otimiza_bd
[]'s