Je rencontre un problème en définissant l' VIEW DEFINITION
autorisation de manière appropriée au niveau du schéma pour l'un de mes utilisateurs. J'ai créé le schéma TestSchema
et ajouté quelques tables. L'utilisateur dispose actuellement définir des autorisations d'accès et modifier la table ( SELECT
, UPDATE
, DELETE
, etc.) à travers les dbo_datareader
et dbo_datawriter
rôles. Cependant, ils ne peuvent voir aucune des tables dans l'explorateur d'objets SSMS.
J'ai essayé d'accorder des autorisations pour afficher les définitions:
grant view definition on SCHEMA :: [TestSchema] to [User]
Ça n'a pas marché. J'ai essayé de définir l'autorisation au niveau de la table:
grant view definition on [TestSchema].[NewTable] to [User]
Cela n'a pas fonctionné non plus. Ensuite, j'ai essayé juste une subvention globale:
grant view definition to [User]
Et cela a fonctionné; ils peuvent maintenant voir TestSchema
, ainsi que d'autres schémas auxquels ils ne devraient pas avoir accès.
Mon objectif ici est de permettre à l'utilisateur de visualiser toutes les tables d'un schéma donné. Comment puis-je y parvenir? Si je devais être en mesure de le faire par défaut, quelles autorisations devrais-je consulter pour savoir pourquoi je ne peux pas?