Ах, предмет многих дебатов.
В наши дни многие утверждают, что такие технологии, как LINQ-to-SQL, в наши дни генерируют такой хороший SQL, что преимущества в производительности незначительны. Лично я предпочитаю, чтобы эксперты по SQL настраивали производительность SQL, а не обычные программисты, поэтому я склонен не соглашаться.
Однако мое основное предпочтение хранимым процедурам связано не столько с производительностью, сколько с управлением безопасностью и конфигурацией.
Большая часть моей архитектурной работы связана с сервисно-ориентированными решениями, и, рассматривая базу данных как сервис, ей значительно помогает использование хранимых процедур.
В принципе, ограничение доступа к базе данных с помощью хранимых процедур создает четко определенный интерфейс, ограничивая область атаки и повышая тестируемость. Предоставление приложениям прямого доступа к базовым данным значительно увеличивает площадь атаки, снижает безопасность и чрезвычайно затрудняет анализ воздействия.