Objectif: Lorsque tout le monde sélectionne SELECT * FROM mytable, il voit une version de la table. Mais lorsqu'un utilisateur spécifique sélectionne SELECT * FROM mytable, il voit une autre version de la table.Comment faire pour qu'un utilisateur voit une table différente avec le même nom
Je pense que je suis à mi-chemin avec la création d'un nouveau rôle et la mise en place de l'utilisateur unique. Puis en créant une copie de la table par défaut avec SELECT * INTO newrole.mytable FROM dbo.mytable. Mais lorsque l'utilisateur sélectionne SELECT * FROM mytable, il voit toujours le fichier dbo.mytable. Comment puis-je les faire passer par défaut à newrole.mytable? J'ai encore besoin d'eux pour voir toutes les autres tables dbo juste pas celle-ci.
Pourquoi voulez-vous faire cela? On dirait que vous allez créer un cauchemar d'entretien. Envisagez de créer des bases de données distinctes, des tables ou d'ajouter un champ (par exemple, IsAdminUser) et de l'inclure dans une clause WHERE. –
Que faites-vous dans le monde? –
@ Spencer Ruport, @Bob Kaufman. Je ne peux pas répondre pour l'affiche originale mais ma première pensée était pour des raisons de sécurité. Certains champs d'une table nécessitent une autorisation de sécurité plus élevée par exemple. Un vieil ami a discuté de certaines recherches sur cette idée avec moi il y a des années, mais je ne sais pas ce que font les bases de données modernes pour protéger des domaines plus sensibles. –