Array
(
)

Jobs e permissões

Fgtoledo
   - 28 set 2004

Qual é a permissão minima para um usuário criar um job (estou tentando de dbo) mas ele cria só que não executa, da o seguinte erro:
´Non-SysAdmins have been denied permission to run CmdExec job steps. The step failed.´

Marcus.magalhaes
   - 28 set 2004

Boa tarde.

Pela mensagem, vc configurou um job para executar um comando a partir do SO, ou seja, um Operating System Command (CmdExec), para que um comando deste tipo possa ser executado, é necessário ter direito de execução na extended procedure xp_cmdshell. Na configuração inicial do SQL Server, somente usuários com direito SysAdmin, ou seja sa, podem executar esta XP, isto se deve ao fato do poder que um usuário ganharia tendo direito de executá-la. Por isso solicite que este job seja executado por um usuário sa. Eu não recomendo que seja atribuido direito de execução desta procedure a nenhum usuário.

Att,

Fgtoledo
   - 28 set 2004

Obrigado pela dica, é que estou fazendo alguns testes, e não irei colocar isso em produção, mas como eu faria para dar essa permissão ao usuário... pois não estou achando na lista de permisões

Marcus.magalhaes
   - 28 set 2004

Boa tarde.

Já que é somente para testes, inclua o usuário na role SysAdmin, teste e depois retire-o.

Att,

Norberto
   - 04 nov 2004

Estou com um problema parecido. Quero exportar uma tabela do SQL para um txt e os comandos que tentei utilizar foram bcp e dtsrun. Contudo, como são comandos do SO, no SQL devem ser executados através do xp_cmdshell, e não estou nem um pouco inclinado a dar os devidos direitos para o xp_cmdshell. Existe outra maneira de gerar o txt ?
No MySQL existe o comando SELECT * INTO ´C:\ARQ.TXT´ FROM TABELA.

Marcus.magalhaes
   - 04 nov 2004

Boa tarde.

É possível vc criar um DTS e agendar a tarefa??? se sim: faça isso e disponibilize o arquivo para o respectivo usuário.

Att,

Norberto
   - 05 nov 2004

Não. O processo tem de ser comandado pelo usuário, porque ocorre em momentos distintos e/ou dinâmicos, ou seja, varia de acordo com uma rotina de coleta de dados da área de pessoal.
Sendo assim, continuo buscando a solução. Mas valeu pela ajuda.