No meu sql server express 2008 r2, tenho cerca de 15 contas de login. Agora eu quero que cerca de 5 usuários tenham permissão total, enquanto outros 5 usuários com acesso limitado a algum banco de dados e outros usuários apenas lêem permissão. No futuro, posso adicionar outros usuários também. Então, eu estava pensando em fazer isso de maneira simples do que dar permissão para todos os usuários, pois requer dar permissão para cada banco de dados toda vez que um novo usuário é criado. Posso criar um conjunto de regras ou grupo e adicionar um novo usuário a esse grupo ou regras? Tenho algum tipo de instalação no SQL Server que fará isso acontecer?
relate perguntas
-
SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado
-
Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?
-
Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?
-
Quais são as principais causas de deadlocks e podem ser evitadas?
-
Como determinar se um Índice é necessário ou necessário
Use uma função de banco de dados. As funções de banco de dados são específicas do banco de dados (obviamente), portanto, você não pode criar uma função que conceda permissões a vários bancos de dados de uma só vez. No entanto, dentro do banco de dados, você cria uma função por meio da GUI ou usando o comando
CREATE ROLE <rolename>
. Depois de criado, você pode conceder as permissões de função da mesma forma que faria com um usuário. Em seguida, você adiciona usuários à função. Novamente, você pode usar a GUI ou o comandoEXEC sp_addrolemember '<rolename>','<username>'
. E por último, mas não menos importante, existem algumas funções predefinidas no nível do servidor e do banco de dados. (Você não pode criar funções de servidor no SQL 2008.) Você não pode fazer alterações nas funções pré-definidas, mas entre outras há db_datareader que concede permissão SELECT para todas as tabelas no banco de dados. Ah, e você pode adicionar sua função definida pelo usuário à função predefinida. Então você pode criar uma funçãoMyReadOnlyRole
e adicioná-lodb_datareader
e, em seguida, conceder-lhe permissões EXECUTE para vários procedimentos armazenados, funções etc. Ou permissão EXECUTE para o próprio banco de dados para esse assunto. (Isso dá permissão para executar qualquer SP, função etc no banco de dados.)