Одно из следствий безопасности - возможно, самое большое: представления оставляют вас открытыми для тех же SQL-инъекций недостатков, которые имеет прямой доступ к таблицам, если вы строите оператор SELECT на основе пользовательского ввода.
Это все, и только если вы основываете свой SQL-запрос на вводе. Если у вас просто статичное представление и вы никогда не фильтруете и не сортируете на основе входных данных, просто выбираете поля в представлении, вы не безопаснее и не менее безопасны с хранимой процедурой, которая возвращает те же результаты без параметров.
Кроме этого, использование хранимых процедур, на мой взгляд, просто хорошая привычка, и в SQL Server вы получаете функции оптимизации из хранимых процедур, но это не связано с безопасностью.