Agendador de tarefas para o SQL Server Express


19

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?


pergunta semelhante feita em SO
CoderHawk

Respostas:


9

Use o ExpressMain, uma solução muito útil para usuários do SQL Server Express.

ExpressMaint

Descrição do Projeto

Este projeto mantém dois utilitários para automatizar o backup e a manutenção de bancos de dados para o SQL Server 2005/2008 / 2008R2 Express Edition. Eles são baseados no aplicativo sqlmaint que acompanha o SQL Server 2000, mas atualizado para o SQL Server 2005/2008 / 2008R2. Há um aplicativo de console VB.NET autônomo e um procedimento armazenado SQL, que demonstram como automatizar tarefas de backup e manutenção de banco de dados via SMO (SQL Management Objects) ou TSQL.

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


15

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.


8

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).


Uma vez me deparei com um site executando o SQL 6.5 no NT4, onde eles usavam o comando interno do Windows AT para iniciar o Internet Explorer, que carregava uma página do Cold Fusion que continha o SQL do trabalho em lotes ... O engraçado é que eles tinha SQL Executive (como ISTR era chamado então), eles simplesmente não sabiam como usá-lo.
Gaius

6

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.