Bonjour,
J’ai un problème de droits d’accès que je ne comprends pas.
J’ai sur un même serveur :
- une base A avec un userA qui est db_owner
- une base B avec un userB qui est db_owner
- une table TBL qui est identique sur les deux bases
J’ai fait un
J’ai même mis userA en db_datareader et db_datawriter de base B
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 grant insert on [base B].[dbo].[TBL] to userA GO grant update on [base B].[dbo].[TBL] to userA GO
Ensuite je fais un trigger sur TBL de base A pour qu’il recopie les données dans base B
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 INSERT INTO [Base B].[dbo].[TBL] (COL_1,COL_2) SELECT ins.COL_1,ins.COL_2 FROM inserted ins
Et là, lorsque je fais un insert, j’ai un message d’erreur me disant que je n’ai pas les droits sur TBL de base B.
Si je mets userA db_owner de base B cela fonctionne.
Ce qui est bizarre (pour moi) est que, si je vais regarder les droits de userA dans la base B je vois bien les autorisations explicites sur TBL pour insérer et mettre à jour mais si je vais dans les autorisations effectives je ne vois les droits que pour UPDATE sur les colonnes et non pour INSERT (d’où le problème j’imagine).
Qu’est-ce que je fais mal ou pas ?
Quelqu’un a-t-il une idée ?
Merci par avance.
Bonne journée
Partager