Comment accorder les autorisations d'exécution de procédures stockées dans un schéma spécifique?
Est-il un moyen dans SQL Server 2012 à accorder exécuter toutes les procédures stockées dans un schéma?
Pour plus d'info, ces procédures stockées sont simplement à faire une sélection.
Essayer quelque chose comme ça. Il crée un nouveau rôle et les subventions de l'autorisation d'exécution d'un schéma.
CREATE ROLE db_executor
GRANTEXECUTEONSCHEMA::schema_name TO db_executor
exec sp_addrolemember 'db_executor','Username'
Remplacer schema_name avec votre schéma et 'Username' avec votre nom d'utilisateur.
Est-il possible d'ACCORDER le SCHÉMA d'autorisation sur un existe déjà SQL SERVER rôle comme db_datareader? Il devrait être possible, mais je ne suis pas sûr de rôles intégrés. Je conseille à l'égard de l'extension intégrée des rôles, il est préférable de créer votre propre personnalisé.
Je vous recommande de faire ce que Szymon suggéré car il est plus élégant de la solution, mais il vous voulez éviter de créer des rôles, vous pouvez exécuter la requête comme ceci, copie des résultats distincts de l'éditeur de requête et d'exécuter tous à la fois.
Cela va générer de la SUBVENTION d'EXÉCUTER des instructions pour toutes les procédures stockées vous avez dans le schéma spécifique
DECLARE@SchemaName varchar(20)DECLARE@UserName varchar(20)SET@SchemaName ='dbo'SET@UserName ='user_name'select'GRANT EXECUTE ON OBJECT::'+@SchemaName +'.'+ P.name +' to '+@UserName
from sys.procedures P
innerjoin sys.schemas S on P.schema_id = S.schema_id
where S.name =@SchemaName
Mais si de nouvelles procédures stockées seront créés? Je pense que vous devez accorder exec autorisations pour de nouvelles procédures stockées?
Essayer quelque chose comme ça. Il crée un nouveau rôle et les subventions de l'autorisation d'exécution d'un schéma.
Remplacer
schema_name
avec votre schéma et'Username'
avec votre nom d'utilisateur.Il devrait être possible, mais je ne suis pas sûr de rôles intégrés. Je conseille à l'égard de l'extension intégrée des rôles, il est préférable de créer votre propre personnalisé.
OriginalL'auteur Szymon
Pour l'octroi de l'autorisation d'exécution de toutes les procédures stockées dans un schéma , la requête en
@szymon est assez.
Ci-dessous la requête accorder l'autorisation d'exécution de la procédure à l'utilisateur sélectionné.
À condition que l'utilisateur existe déjà.
OriginalL'auteur Abhishek Chakraborty
Je vous recommande de faire ce que Szymon suggéré car il est plus élégant de la solution, mais il vous voulez éviter de créer des rôles, vous pouvez exécuter la requête comme ceci, copie des résultats distincts de l'éditeur de requête et d'exécuter tous à la fois.
Cela va générer de la SUBVENTION d'EXÉCUTER des instructions pour toutes les procédures stockées vous avez dans le schéma spécifique
OriginalL'auteur Kenneth Hampton