линкованнов сервере declare @cmd nvarchar(max) set cmd=concat('xp_xmdshell ...',@idlist) (тут запрос со списком на 13к символов) exec (@cmd) at server_name.
Собственно вопрос - есть ли какое-то ограничение на максимальную длину строки, которая передается на сервер?
Если длинную строку кидаю на удаленный сервер и запускаю вручную, все отрабатывает успешно, а если вызываю на основном сервере, то он ругается, что @idlist должен быть заполнен, хотя он тоже nvarchar(max)
Текст ошибки в джобе: procedure expects parameter 'command_string' of varchar
Лимит есть. Лайфхак: exec (@cmd1+@cmd2+@cmd3) at ...
Там идшники собираются из одного запроса, его разбить на части проблематично будет, но возможно и правда набралась какая-то критическая масса
Ну можно запрос в одну переменную, айдишники в другую.
Вот он и состоит из двух частей @cmd=concat(xp_xmdshell ..., @idlist) Первой части с xp_cmdshell там от силы 100 символов будет
Обсуждают сегодня