По умолчанию в SQL Server [public]
роль имеет EXECUTE
права на sp_executesql
.
Тем не менее, я унаследовал сервер базы данных, на котором предыдущий администратор БД отозвал EXECUTE
право sp_executesql
.
В качестве временного обходного пути я предоставляю EXECUTE
права sp_executesql
по мере необходимости (через роль в базе данных master). Но это начинает быть болью обслуживания.
Если я верну EXECUTE
публике, есть ли какие-то последствия, о которых мне нужно знать?
sql-server
security
permissions
AlexLostDba
источник
источник
sp_executesql
. Если предположить, что требование динамического SQL, а затем отключение,sp_executesql
может на самом деле увеличить риск, по крайней мере, это позволит вам параметризировать запросы (в отличие отEXEC
)sp_executesql
не является соответствующим смягчением. Подавляющее большинство ошибок SQL-инъекций возникает в клиенте, когда оператор SQL создается «вручную» путем объединения частей SQL с входными переменными, а затем выполняется «как есть». Для всех этих случаевsp_executesql
отключение ничего не помогает.