FYI: SQL Server 2005Quelles autorisations utilisateur de base de données sont nécessaires?
J'ai un compte d'utilisateur de base de données (user_web) qui a la capacité de se connecter et d'exécuter des requêtes et des procédures stockées dans ma base de données. Plus précisément, j'ai donné à l'utilisateur les rôles db_datareader
et db_datawriter
et lui ai accordé l'autorisation d'exécution sur les procédures stockées spécifiques dont il a besoin pour pouvoir s'exécuter.
Dans l'une des procédures stockées, je dois désactiver un déclencheur, puis le réactiver après certaines modifications spécifiques. Lorsque je tente d'exécuter cette procédure stockée avec l'utilisateur, je reçois l'erreur suivante:
Cannot find the object "TableName" because it does not exist or you do not have permissions.
TableName
est la table où je tente de désactiver et activer le déclencheur. Ma question est de savoir quelle est la plus petite quantité d'autorisations que je puisse donner à mon compte d'utilisateur pour lui permettre d'exécuter la procédure stockée avec succès.
Il pourrait également se pencher sur l'aide d'un certificat sur la procédure stockée, même si je pense que c'est nécessaire que s'il y a un problème de chaînage de propriété (?) Si la sécurité était critique cependant, le db_datareader de couverture et db_datawriter probablement shouldn ne pas être utilisé. –
Je suis d'accord avec Tom sur le db_datareader et le db_datawriter. Je ne suis pas un grand fan des certificats parce que je pense qu'ils sont pénibles, surtout quand les choses sont encore en développement. –