Por padrão, no SQL Server, a [public]
função tem EXECUTE
direitos sp_executesql
.
No entanto, eu herdei um servidor de banco de dados em que o DBA anterior revogou o EXECUTE
direito sp_executesql
.
Como solução temporária, concedo EXECUTE
direitos sp_executesql
conforme necessário (por meio de uma função no banco de dados mestre). Mas isso está começando a ser uma dor de manutenção.
Se eu conceder de EXECUTE
volta ao público, há alguma repercussão que eu precise estar ciente?
sql-server
security
permissions
AlexLostDba
fonte
fonte
sp_executesql
. Assumindo uma exigência SQL dinâmico, em seguida, a desativaçãosp_executesql
pode realmente aumentar o risco de, pelo menos, que lhe permite parametrizar as consultas (ao contrárioEXEC
)sp_executesql
não é a atenuação apropriada. A esmagadora maioria dos erros de injeção SQL ocorre no cliente quando a instrução SQL é criada 'manualmente' concatenando partes do SQL com variáveis de entrada e depois executa 'como está'. Para todos os casos,sp_executesql
estar desabilitado não ajuda em nada.