Eu tenho um aplicativo ASP.NET MVC que funciona com o banco de dados na edição SQL Server 2008 R2 Express. É necessário executar uma tarefa regular na atualização de alguns registros no banco de dados.
Infelizmente, o Express Edition não possui o SQL Agent.
Que abordagem você recomendaria?
Respostas:
Use o ExpressMain, uma solução muito útil para usuários do SQL Server Express.
ExpressMaint
Esses dois artigos ajudarão você a usá-lo
http://www.sqldbatips.com/showarticle.asp?ID=27
http://www.sqldbatips.com/showarticle.asp?ID=29
fonte
Você pode conferir o projeto de código-fonte independente do SQL Agent . Ele usa as tabelas e procedimentos nativos do SQL Agent (que ainda existem no SQL Express) para armazenar os trabalhos que substituem o próprio SQL Agent. O mecanismo é muito bom para os comandos T / SQL e Dos. Coisas como SSIS, etc. ainda não foram concluídas. Além disso, o editor tem apenas cerca de metade da capacidade, mas o mecanismo para executar os trabalhos é a parte importante.
fonte
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 seja incluído em todas as edições do SQL 2005 e 2008, incluindo o Express.
Eu recomendaria configurar um usuário especificamente para isso e executar o script registrado via Autenticação Integrada do Windows. Se você usa autenticação baseada em usuário / senha, certifique-se de proteger corretamente o arquivo que contém a senha, principalmente se a máquina for compartilhada. Além de ser mais minucioso 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 mexer para garantir que não haja janelas do console abertas para atrapalhar, se isso acontecer. é executado enquanto você está conectado (se você o executar como você mesmo, poderá encontrar uma janela do console e reivindicar o foco quando a tarefa for executada).
fonte
Eu tive sucesso no passado com o Teratrax Job Scheduler: http://www.teratrax.com/tjs/
Basicamente, você pode apenas configurar scripts SQL para executar em um agendamento. Muito fácil de usar e possui uma pequena GUI útil para gerenciar seus agendamentos. Ele também possui um sistema de notificação por e-mail que você pode usar para notificações de sucesso / falha, etc.
A desvantagem das soluções mencionadas anteriormente é que ela tem um preço de US $ 99, embora exista uma avaliação gratuita, caso você queira dar uma olhada.
fonte