Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Problema de conta de trabalho do agente do SQL Server


Normalmente, eu executaria os trabalhos do SQL Server Agent na mesma conta em que seu aplicativo acessa o banco de dados.

Se essa conta for muito limitada em suas permissões (o que pode ser uma coisa boa!), eu criaria uma única conta para esse aplicativo e todos os seus trabalhos SQL (se possível) e executaria todos os trabalhos SQL nessa conta.

Você poderia executar cada etapa em uma conta diferente, mas eu não usaria isso em geral (isso torna muito difícil saber e entender o que é executado em qual conta). Use-o apenas se você precisar executar uma etapa particularmente sensível que precise de várias permissões extras e essas permissões estiverem disponíveis apenas para uma conta de sistema específica ou algo assim.

A conta sob a qual o serviço de janelas do SQL Server Agent é executado realmente não tem impacto sobre o que suas etapas de trabalho serão executadas.

Portanto, tudo se resume a apenas duas contas:

  • uma conta é necessária para executar o serviço Windows do SQL Server Agent - esta é uma conta do Windows em sua máquina / servidor que precisa ter permissões suficientes para executar o serviço, iniciá-lo e interrompê-lo - use LocalSystem, Network Service ou qualquer outro Windows conta com a qual você precisa executar serviços

  • A outra conta seria a conta para executar suas etapas do SQL Server Agent - normalmente é uma conta do SQL Server (que pode ser baseada em uma conta do Windows) e precisa de privilégios suficientes dentro do SQL Server para fazer seu trabalho, por exemplo, ele precisa de acesso aos objetos do banco de dados e tudo. Eu me esforçaria para ter apenas uma conta para cada aplicativo que executa os trabalhos do SQL Server - facilita muito a vida!

Marco

PS:Para configurar o usuário para executar uma etapa abaixo, você precisa usar a página "Avançado" na caixa de diálogo de propriedades da etapa do trabalho e selecionar o usuário em uma janela pop-up: