Eu tenho um aplicativo ASP.NET MVC que funciona com banco de dados na edição SQL Server 2008 R2 Express. Existe a necessidade de realizar uma tarefa regular de atualização de alguns registros no banco de dados.
Infelizmente, a Express Edition não possui o SQL Agent.
Que abordagem você recomendaria?
Você pode conferir o projeto de código aberto Standalone SQL Agent . Ele usa as tabelas e procedimentos nativos do SQL Agent (que ainda existem no SQL Express) para armazenar as tarefas substituindo o próprio SQL Agent. O mecanismo é muito bem feito para comandos T/SQL e Dos. Coisas como SSIS, etc ainda não estão prontas. Além disso, o editor está apenas 1/2 pronto, mas o mecanismo para executar os trabalhos é a parte importante.
Use ExpressMain, é uma solução muito útil para usuários do SQL Server Express.
ExpressManut
Estes dois artigos irão ajudá-lo a usá-lo
http://www.sqldbatips.com/showarticle.asp?ID=27
http://www.sqldbatips.com/showarticle.asp?ID=29
Você pode usar o agendador de tarefas interno do Windows para executar um script SQL usando as ferramentas de linha de comando fornecidas com o SQL Express - acredito que http://msdn.microsoft.com/en-us/library/ms162773.aspx é incluído em todas as edições SQL 2005 e 2008, incluindo Express.
Eu recomendaria configurar um usuário especificamente para isso e executar o script registrado por meio da autenticação integrada do Windows. Se você usar a autenticação baseada em usuário/senha, certifique-se de proteger adequadamente o arquivo que contém a senha, principalmente se a máquina for compartilhada. Além de ser mais detalhado sobre o que os usuários podem fazer no seu banco de dados, a outra vantagem de executar a tarefa como um usuário diferente do Windows é que você não precisa se preocupar em garantir que nenhuma janela do console seja aberta para atrapalhar se é executado enquanto você está conectado (se você executá-lo como você mesmo, poderá encontrar uma janela do console pop-up e reivindicar o foco quando a tarefa for executada).
Eu tive sucesso no passado com o Teratrax Job Scheduler: http://www.teratrax.com/tjs/
Basicamente, você pode apenas configurar scripts SQL para serem executados de acordo com uma programação. Muito fácil de usar e possui uma pequena interface gráfica para gerenciar seus horários. Ele também possui um sistema de notificação por e-mail integrado que você pode usar para notificações de sucesso/falha, etc.
A desvantagem das soluções mencionadas anteriormente é que elas custam US $ 99, embora haja uma avaliação gratuita, caso você queira dar uma olhada.