Я обычно рекомендую не использовать процедуры CLR, в большинстве случаев вы можете реорганизовать проблему, с которой вы столкнулись, в нечто, что Transact Sql может обработать.
Наибольшую обеспокоенность вызывает процедурный подход, который часто сопровождает использование процедур CLR, когда база данных отношений работает лучше всего при выполнении операций на основе множества.
Итак, первый вопрос, который я всегда задаю, заключается в том, чтобы в любом случае преобразовать проблему в операцию, основанную на множествах.
Если нет, то я спрашиваю, почему вы хотите выполнять код внутри сервера базы данных, а не на уровне приложения? Подумайте о влиянии на производительность, которое вы можете оказать, разместив логику в базе данных. (Это может не быть проблемой, если на вашем БД достаточно времени для обработки).
Если вы все же решите использовать процедуры CLR, я думаю, что их лучше всего применять для интенсивных вычислений и сложной логики.