Eu apoio um aplicativo em uma grande empresa, uma das minhas funções é limpar dados. Há uma consulta que preciso executar a cada hora e gostaria de automatizá-la. Devido às políticas da organização, não consigo criar trabalhos do SQL Server Agent nem modificar esquemas, apenas posso manipular dados.
Um interminável
WHILE(1=1)
BEGIN
WAITFOR DELAY '01:00';
--do work
END
faz o trabalho para mim, mas dou de ombros com o pensamento de uma conexão permanente.
Idealmente, eu escreveria o próprio MS SS para executar um determinado pedaço de código a cada hora, mas não tenho certeza se isso é possível.
Existe alguma solução para este problema?
sql-server
scheduled-tasks
Ivan Koshelev
fonte
fonte
Respostas:
Seu amigo é sqlcmd (Microsoft Technet)
Por exemplo
Boa sorte.
fonte
Você não precisa do Management Studio para executar consultas.
Se você realmente não tem opção para alguém agendar um trabalho para você, consulte o sqlcmd conforme observado na resposta do hot2use
Se você estiver em uma versão em que isso não é suportado (já que você não especificou uma versão), também haverá o osql, que é um cliente de linha de comando, mas essa ferramenta foi descontinuada.
Você pode agendar um comando usando o agendador que desejar (Windows Task Scheduler, por exemplo) e executar algo como isto:
Dê uma olhada na documentação para ver quais opções você possui para seleção e autenticação de servidor.
fonte
Usar o "SQL Server Agent", encontrado no MS SQL studio (no explorador de objetos, expanda o servidor e ele deve estar normalmente no final da lista) é provavelmente a sua melhor aposta.
Isso criará um trabalho que pode ser configurado para ser executado em intervalos definidos. Os trabalhos serão executados como um serviço no servidor e não no cliente. Isso significa que, se o seu cliente desconectar, ele ainda será executado e se o servidor for reiniciado (por um motivo desconhecido), o trabalho continuará sendo executado sem a necessidade de inicializá-lo novamente.
A desvantagem é que você provavelmente precisará de direitos de acesso elevados para poder fazer isso.
fonte