Шаги задания агента SQL могут быть нескольких типов: если вы выберете тип шага T-SQL, вы просто сможете поместить содержимое вашего скрипта T-SQL непосредственно в подробности / содержимое шага задания. Это не должно отличаться для сценария с участием курсора или любого другого T-SQL.
Курсор - это не постоянный объект базы данных, как хранимая процедура, которую вы просто вызываете после создания; Курсор - это временный объект, который создается, используется и уничтожается в контексте одного соединения SQL. как правило, что-то вроде этого:
DECLARE XXX CURSOR
FOR
SELECT Something
FROM Somewhere
OPEN XXX
FETCH NEXT FROM XXX
INTO @A
WHILE @@FETCH_STATUS = 0
BEGIN
--Do something here
FETCH NEXT FROM XXX
INTO @A
END
CLOSE XXX
DEALLOCATE XXX
Если у вас есть скрипт T-SQL, в котором используется курсор, вы можете просто скопировать весь скрипт T-SQL в задание агента SQL.
Если это не работает, пожалуйста, предоставьте больше информации о том, что вы пробовали, с какой проблемой вы столкнулись, подробности всех полученных вами сообщений об ошибках и т. Д.
Обновление после предоставленной детализации ошибки SSMS:
Я обнаружил, что в SSMS 2008 R2 (по крайней мере на 64-разрядной машине) пользовательский интерфейс редактирования заданий агента SQL иногда начинает выдавать ошибки, подобные той, которую вы только что предоставили. Когда это происходит, вы иногда получаете ошибку, или иногда, когда вы дважды щелкаете по шагу задания, который нужно отредактировать, ничего не происходит.
По моему опыту, эти проблемы просто исчезнут, если вы завершите закрытие SSMS (закроете все открытые вами задания, закроете монитор активности, закроете ssms), запустите его снова и сразу перейдете к работе, которую вы хотели редактировать.
Попробуйте сделать это, и если у вас все еще есть проблема, опишите, пожалуйста, точные шаги, которые вы предпринимаете, размер вашего сценария T-SQL и любую дополнительную информацию, которую вы можете добавить.
Ссылка на эту ошибку, с подтверждением ошибки от Microsoft: http://connect.microsoft.com/SQLServer/feedback/details/557402/ssms-can-no-longer-create-or-edit-job-steps
Единственный известный обходной путь в настоящее время - полностью закрыть ssms, снова открыть его и отредактировать одно задание, которое вы хотите отредактировать (после этого вы можете снова начать получать ошибки и вам нужно будет снова закрыть)