Bonjour,
Je souhaiterai sur une même instance SQLServer, utiliser des PS communes pour attaquer des données d'utilisateurs bien séparées (pb de confidentialité)
- soit dans des bases différentes,
- soit dans des schémas différents.
- si vous avez une autre idée...
Le 1er cas me parait impossible, alors j'ai essayé le 2° cas.
Je crée les mêmes tables pour des utilisateurs différents dans leur propre schémas (les uns ne pouvant pas voir les tables des autres).
Dans mes PS, je référence les tables avec la syntaxe suivante : "MaBase..MaTable", en omettant le nom du schéma pour que ce soit le schéma par défaut qui soit utilisé.
Mes PS étant communes à tous les utilisateurs, je les ai créées dans le schéma DBO (avec droit d'exécution pour mes utilisateurs).
Malheureusement, à l'exécution, la PS ne voit pas ma table.
Msg 208, Level 16, State 1, Procedure LCF_PS1, Line 8
Nom d'objet 'MaBase..MaTable' non valide.
J'ai l'impression que la PS ne va pas chercher dans le schéma de l'utilisateur qui la lance, mais dans le schéma du propriétaire de la PS (soit, DBO).
Quelqun peut-il confirmer ma théorie ?
Quelqun aurait une autre idée pour mon problème ?
Merci à tous,
Cyrille.
Partager