À l'aide d'un script SQL pour répertorier toutes les autorisations, je suis allé créer des utilisateurs pour chaque cas.
EXECUTE AS USER = 'test_user'
SELECT
permission_name
FROM fn_my_permissions(null, 'DATABASE')
ORDER BY subentity_name, permission_name
REVERT;
J'ai ensuite comparé les résultats, et je suis arrivé à la liste suivante, avec de la documentation provenant principalement de msdn (toutes les citations non spécifiquement référencées proviennent du lien msdn).
Vous trouverez ci-dessous une partie de la documentation que j'ai utilisée pour informer les personnes qui perdraient les autorisations dbo de ce qu'elles perdaient exactement .
MODIFIER
Confère la possibilité de modifier les propriétés, sauf la propriété, d'un élément sécurisable particulier. Lorsqu'il est accordé sur une étendue, ALTER confère également la possibilité de modifier, créer ou supprimer tout élément sécurisable contenu dans cette étendue. Par exemple, l'autorisation ALTER sur un schéma inclut la possibilité de créer, de modifier et de supprimer des objets du schéma.
MODIFIER TOUT RÔLE D'APPLICATION
MODIFIER TOUT AUDIT
DE BASE DE DONNÉES MODIFIER TOUT RÔLE
MODIFIER TOUT UTILISATEUR
Confère la possibilité de créer, modifier ou supprimer des instances individuelles de la base de données sécurisable. Par exemple, ALTER ANY SCHEMA confère la possibilité de créer, modifier ou supprimer n'importe quel schéma dans la base de données.
Les rôles d'application sont des principes de base de données qui permettent à une application de s'exécuter avec ses propres autorisations de type utilisateur.
L'audit d' une instance de SQL Server ou d'une base de données SQL Server implique le suivi et la journalisation des événements qui se produisent sur le système. L'objet de spécification d'audit au niveau de la base de données appartient à un audit. Vous pouvez créer une spécification d'audit de base de données par base de données SQL Server par audit.
Les rôles de base de données sont utilisés pour gérer facilement les autorisations dans vos bases de données, SQL Server fournit plusieurs rôles qui sont des entités de sécurité qui regroupent d'autres entités. Ils sont comme des groupes dans le système d'exploitation Microsoft Windows. Les rôles au niveau de la base de données sont étendus à la base de données dans leur étendue d'autorisations.
AUTHENTIFIER
Trouvé dans msdn.
Les autorisations AUTHENTICATE & AUTHENTICATE SERVER ne sont utilisées que lorsque vous utilisez EXECUTE AS dans des scénarios de bases de données croisées et d'accès au serveur (respectivement).
JOURNAL DE SAUVEGARDE DE LA BASE DE DONNÉES
CONNECTER LA RÉPLICATION
Utilisé pour les autorisations de réplication de base de données .
CONTRÔLE
Confère des capacités de type propriété au bénéficiaire. Le bénéficiaire a effectivement toutes les autorisations définies sur le sécurisable. Un principal qui a reçu CONTROL peut également accorder des autorisations sur le sécurisable.
CRÉER UN RÔLE
Confère au bénéficiaire la possibilité de créer la base de données sécurisable.
SHOWPLAN
Les autorisations Showplan sont utilisées pour diverses options de l'instruction Showplan SET lorsqu'elles sont utilisées avec des lots Transact-SQL .
S'INSCRIRE AUX NOTIFICATIONS DE DEMANDE
Documentation sur les notifications de requête.
Basées sur l'infrastructure Service Broker, les notifications de requête permettent aux applications d'être notifiées lorsque les données ont changé. Cette fonctionnalité est particulièrement utile pour les applications qui fournissent un cache d'informations à partir d'une base de données, telle qu'une application Web, et doivent être notifiées lorsque les données source sont modifiées.
PRENDRE POSSESSION
Permet au bénéficiaire de s'approprier la valeur mobilière sur laquelle il est octroyé.
VOIR L'ÉTAT DE LA BASE DE DONNÉES
Utilisé pour afficher les vues et fonctions de gestion dynamique (Transact-SQL) .
VOIR LA DÉFINITION
Documentation sur les autorisations de définition de vue.
L'autorisation VIEW DEFINITION permet à un utilisateur de voir les métadonnées de l'élément sécurisable sur lequel l'autorisation est accordée. Cependant, l'autorisation VIEW DEFINITION ne confère pas l'accès au sécurisable lui-même. Par exemple, un utilisateur qui ne bénéficie que de l'autorisation VIEW DEFINITION sur une table peut voir les métadonnées liées à la table dans la vue de catalogue sys.objects. Cependant, sans autorisations supplémentaires telles que SELECT ou CONTROL, l'utilisateur ne peut pas lire les données de la table.