Foi-me pedido para conceder SELECT, INSERTe UPDATEpara um determinado usuário para todas as tabelas em um banco de dados. Acabei adicionando db_datareadere concedendo o usuário INSERTe UPDATEno nível do banco de dados.
Mas isso me fez pensar: qual é a diferença (se houver) entre conceder uma SELECTpermissão de usuário no nível do banco de dados ou adicioná-las à db_datareaderfunção? E existe alguma prática recomendada de uma maneira ou de outra?