Usuário com melhor resposta
Comando xp_cmdshell para executar um .bat - shutdown / permissão

Pergunta
-
Pessoal,
Tive que criar um script para o SQL onde, todo dia em determinado horário ele lista os IPs gravados no banco de dados, gera um arquivo .bat pelo "bpc" com a lista de ips com comando de shutdown para desligar as maquinas...
Porem estou com o problema: Executando o bat manualmente, no meu pc, as maquinas desligam... mas via SQL sempre me retorna um erro de "Acesso Negado", e só a minha, local, que desliga.
O estranho é que a unica coisa que muda é a forma de acesso:
- Via SQL: Acesso Negado, só desliga minha máquina local, as demais não.
- Via "Manual, abrindo o arquivo": Desliga normalmente.
Seria alguma limitação do xp_cmdshell que não deixa executar isso?
Att.
Diego.
Respostas
-
Olá Diego, verifica com qual user roda este processo todo dia.
Se for um Job o user é o mesmo que esta no serviço, provavelmente este user ou existe somente no teu pc ou não ter permissão de admin da rede e o shutdown não consegue desligar as outras por falta de permissão.
Espero que ajude.
Vlew.
- Sugerido como Resposta Roberto F FonsecaModerator quinta-feira, 17 de novembro de 2011 19:50
- Marcado como Resposta Diego Ronan sexta-feira, 18 de novembro de 2011 16:11
Todas as Respostas
-
Olá Diego, verifica com qual user roda este processo todo dia.
Se for um Job o user é o mesmo que esta no serviço, provavelmente este user ou existe somente no teu pc ou não ter permissão de admin da rede e o shutdown não consegue desligar as outras por falta de permissão.
Espero que ajude.
Vlew.
- Sugerido como Resposta Roberto F FonsecaModerator quinta-feira, 17 de novembro de 2011 19:50
- Marcado como Resposta Diego Ronan sexta-feira, 18 de novembro de 2011 16:11
-
Ola Marcus!
Decidimos deixar para executar esse bat como tarefa agendada do Windows do que executar via SQL.
Creio que seja um modo mais facil, ja que basta somente um usuario de rede com poderes administrativos sob as demais.
Agradeço.
Abs
- Marcado como Resposta Diego Ronan sexta-feira, 18 de novembro de 2011 16:11
- Não Marcado como Resposta Diego Ronan sexta-feira, 18 de novembro de 2011 16:11
-
Boa Tarde,
Foi uma decisão acertada... O agendador do SQL Server deve ser para executar tarefas pertinentes a ele. Não devemos transformar o AGENT em um schedulador oficial, pois, não compete a ele fazer isso (nem foi designado para tal)
A questão é que o xp_cmdshell no Agent vai rodar com a conta do agent e talvez ela não seja tão poderosa quanto a utilizada nos outros testes.
[ ]s,
Gustavo Maia Aguiar
Blog: http://gustavomaiaaguiar.wordpress.com
Vídeos: http://www.youtube.com/user/gmasql
Classifique as respostas. O seu feedback é imprescindível