Temos um .exe
arquivo em um servidor, digamos Server1 , que deve ser executado a partir de um trabalho do SQL Server que existe em um servidor diferente, por exemplo: Server2 . Como pode ser feito?
Sei que se for um arquivo local, posso usar xp_cmdshell
na etapa Job e rodar o .exe
arquivo, mas no nosso caso, esse arquivo existe em um servidor diferente. Se for possível, quais permissões de segurança devem ser configuradas para alcançá-lo?
Você ainda pode usar
xp_cmdshell
; no entanto, você precisará certificar-se de que sua conta do SQL Server Service (a conta do AD usada para executar o SQL Server) tenha acesso ao diretório que contém oexe
arquivo e quaisquer outros diretórios que esse programa possa exigir.xp_cmdshell
roda no próprio SQL Server; você pode usá-lo como qualquer outra janela de comando.Se, por outro lado, você precisar
exe
executar na máquina que o hospeda, precisará procurar outras opções.Xp_cmdshell funcionaria bem - basta acessar o arquivo usando o caminho UNC (\server1\share\file.exe). Como a outra pessoa mencionou, certifique-se de ter as permissões adequadas para sua conta de serviço do agente SQL para acessar o arquivo.
Se, em vez disso, você realmente deseja executar o arquivo no servidor remoto, pode usar uma ferramenta chamada PSEXEC que executará am exe em outro servidor. Isso não é comum, mas parece que pode ser o que você está procurando. Você pode obter essa ferramenta aqui:
http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx