2009-08-03 8 views
1

Préalable:Qu'est-ce qu'un rôle SQL Server minimum permettant la création/suppression de déclencheur?

Une application client/serveur est écrite en Delphi32. Le SGBDR est SQL Server 2005. Une certaine fonctionnalité d'application nécessite la création/suppression de déclencheurs (à partir de l'application utilisant des instructions DDL ad hoc) dans la base de données cible.

Problème:

Si un utilisateur appartient à des rôles sysadmin il n'y a pas de problème pour créer/déposer des déclencheurs. Cependant, ceci est considéré comme un rôle trop permissif pour un utilisateur d'application.

Questions:

  • Quel est le minimum standard (à savoir la plus restrictive) rôle SQL Server qui pourrait être utilisé pour la création/chute des déclencheurs?
  • La création d'un rôle personnalisé, plutôt que d'utiliser des rôles standard, constituerait-il une approche plus fine pour résoudre ce problème?
+0

Veuillez ne pas utiliser la balise 'mssql'; utilisez 'sql-server' à la place. Même chose avec "MSSQL" dans un titre ou dans le corps de votre question ou réponse, puisque le produit s'appelle "SQL Server". Il est beaucoup plus facile de trouver dans une recherche si elle est nommée correctement. –

+0

Thanx - fera l'affaire. – 01es

Répondre

3

Il existe différentes options en fonction de la portée de la subvention (tout déclencheur dans une base de données, dans un schéma ou dans une table spécifique).

Généralement, les autorisations requises pour une opération SQL sont documentées dans la référence SQL. Par exemple. pour CREATE TRIGGER sur SQL 2008 voir here (faites défiler jusqu'à « Autorisations »), dans ce cas:

déclencheur DML nécessite ALTER persmission sur la table ou la vue sur laquelle le déclencheur doit être créé

Vous pouvez créer un rôle doté uniquement des autorisations souhaitées, puis ajouter des utilisateurs/groupes à ce rôle. Le rôle minimum est donc celui que vous créez avec l'accès spécifique que vous souhaitez autoriser à ses membres.

Questions connexes