Sql Server 2005 выполняет exe на удаленной машине или подключается к серверу приложения - PullRequest
1 голос
/ 19 июня 2009

Я пытаюсь понять, как создать хранимую процедуру SQL Server, которая при выполнении условия выполняет исполняемый файл с аргументами командной строки на удаленном компьютере в сети. Я мог бы написать свое собственное небольшое серверное приложение для обработки сообщений, отправляемых из хранимой процедуры для исполняемого файла, но я не уверен, является ли программирование сокетов разумным вариантом для сервера sql. Любое направление будет полезно.

1 Ответ

1 голос
/ 19 июня 2009

В любом случае вам понадобится какое-нибудь серверное приложение, даже если это приложение было SQL Server:)

Что-то вроде rsh может подойти - ваш локальный экземпляр SQL вызовет xp_cmdshell с помощью команды rsh (или пакетного файла), подключившись к удаленному серверу и выполнив команду.

Если у вас есть SQL на удаленной машине, это будет гораздо проще; вызовите хранимую процедуру на этом компьютере с локального компьютера и дайте этой хранимой процедуре выполнить работу (возможно, придется поиграться с прокси и «выполнить как»).

Третий вариант - создать хранимую процедуру .NET и выполнить оттуда программирование сокетов или удаленный вызов - она ​​выполняется внутри процесса, поэтому вы получаете те же преимущества в плане производительности и безопасности, что и при написании ее в T-SQL, а не переходить в командную оболочку со всем этим беспорядком.

...