Самый простой способ - создать консольное приложение .NET, которое будет просто оболочкой для вашего реального кода, находящегося в DLL, веб-службе или где-либо еще. Затем в задании агента SQL создайте шаг типа «Операционная система (CmdExec)», который вызывает ваше консольное приложение. Избавляет вас от хлопот SSIS (и это одна из проблем, которую стоит избегать major ). Я также согласен с @Hasanain, что .NET proc может быть другой разумной альтернативой.
Еще одна вещь, которую стоит отметить. Агент SQL CmdExec будет искать целочисленный код возврата, поэтому ваш метод public static int Main(string args[]) {}
вернет 0 для успеха и некоторое отрицательное число для сбоя. Или, если вы выбросите исключение, это тоже будет работать нормально. И агент SQL будет записывать текст из того, что вы выбросили, поскольку консольное приложение записало его в stdout / stderr.