Jobs e permissões

SQL Server

28/09/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.´


Fgtoledo

Fgtoledo

Curtidas 0

Respostas

Marcus.magalhaes

Marcus.magalhaes

28/09/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 [b:30ff1e1b0f]xp_cmdshell[/b:30ff1e1b0f]. Na configuração inicial do SQL Server, somente usuários com direito [b:30ff1e1b0f]SysAdmin[/b:30ff1e1b0f], ou seja [b:30ff1e1b0f]sa[/b:30ff1e1b0f], 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 [b:30ff1e1b0f]sa[/b:30ff1e1b0f]. Eu não recomendo que seja atribuido direito de execução desta procedure a nenhum usuário.

Att,


GOSTEI 0
Fgtoledo

Fgtoledo

28/09/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


GOSTEI 0
Marcus.magalhaes

Marcus.magalhaes

28/09/2004

Boa tarde.

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

Att,


GOSTEI 0
Norberto

Norberto

28/09/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.


GOSTEI 0
Marcus.magalhaes

Marcus.magalhaes

28/09/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,


GOSTEI 0
Norberto

Norberto

28/09/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.


GOSTEI 0
POSTAR