sp_helprotect (Transact-SQL)
S’applique à :SQL Server
Retourne un rapport contenant des informations sur les autorisations utilisateur concernant un objet ou des autorisations d'instruction, dans la base de données active.
Important
sp_helprotect ne retourne pas d’informations sur les éléments sécurisables introduits dans SQL Server 2005 (9.x). Utilisez sys.database_permissions et fn_builtin_permissions à la place.
Ne répertorie pas les autorisations qui sont toujours affectées aux rôles serveur fixes ou aux rôles de base de données fixes. N'inclut pas les identifiants de connexion ou les utilisateurs qui reçoivent des autorisations en fonction de leur appartenance à un rôle.
Conventions de la syntaxe Transact-SQL
Syntaxe
sp_helprotect [ [ @name = ] 'object_statement' ]
[ , [ @username = ] 'security_account' ]
[ , [ @grantorname = ] 'grantor' ]
[ , [ @permissionarea = ] 'type' ]
Arguments
[ @name = ] 'object_statement'
Nom de l’objet dans la base de données active, ou une instruction, qui dispose des autorisations nécessaires pour créer un rapport. object_statement est nvarchar(776), avec la valeur par défaut NULL, qui retourne toutes les autorisations d’objet et d’instruction. Si sa valeur est un objet (table, vue, procédure stockée ou procédure stockée étendue), ce doit être un objet valide dans la base de données en cours. Le nom de l’objet peut inclure un qualificateur de propriétaire dans le propriétaire du formulaire.objet .
Si object_statement est une instruction, il peut s’agir d’une instruction CREATE.
[ @username = ] 'security_account'
Nom du principal pour lequel les autorisations sont retournées. security_account est sysname, avec la valeur par défaut NULL, qui retourne tous les principaux de la base de données active. security_account doit exister dans la base de données active.
[ @grantorname = ] 'grantor'
Nom du principal qui a accordé des autorisations. le grantor est sysname, avec la valeur par défaut NULL, qui retourne toutes les informations pour les autorisations accordées par n’importe quel principal dans la base de données.
[ @permissionarea = ] 'type'
Chaîne de caractères qui indique s’il faut afficher les autorisations d’objet (chaîne de caractères o), les autorisations d’instruction (chaîne de caractères) ou les deux (os). type est varchar(10), avec une valeur par défaut de os. type peut être n’importe quelle combinaison de o et de s, avec ou sans virgules ou espaces entre o et s.
Codet de retour
0 (réussite) ou 1 (échec)
Jeux de résultats
Nom de la colonne | Type de données | Description |
---|---|---|
Propriétaire | sysname | Nom du propriétaire de l’objet. |
Object | sysname | Nom de l'objet. |
Cessionnaire | sysname | Nom du principal auquel des autorisations sont accordées. |
Fournisseur d'autorisations | sysname | Nom du principal qui a accordé des autorisations au bénéficiaire spécifié. |
ProtectType | nvarchar(10) | Nom du type de protection : GRANT REVOKE |
Action | nvarchar(60) | Nom de l’autorisation. Les instructions valides d'autorisation varient selon le type d'objet. |
Colonne | sysname | Type d'autorisation : All = l'autorisation couvre toutes les colonnes en cours de l'objet. New = l'autorisation couvre toutes les nouvelles colonnes susceptibles d'être modifiées (à l'aide de l'instruction ALTER) pour l'objet ultérieurement. All+New = combinaison de All et New. Retourne un point si le type d'autorisation ne s'applique pas aux colonnes. |
Remarques
Tous les paramètres de la procédure ci-dessous sont facultatifs. Si elle est exécutée sans paramètre, la procédure sp_helprotect
affiche toutes les autorisations qui ont été accordées ou refusées dans la base de données active.
Si certains paramètres seulement sont spécifiés, utilisez les paramètres nommés pour identifier le paramètre spécifique ou NULL
comme espace réservé. Par exemple, pour signaler toutes les autorisations du propriétaire de la base de données des fournisseurs (dbo
), exécutez le code suivant :
EXEC sp_helprotect NULL, NULL, dbo;
ou
EXEC sp_helprotect @grantorname = 'dbo';
Le rapport de sortie est trié par catégorie d'autorisation, propriétaire, objet, bénéficiaire, fournisseur, catégorie du type de protection, type de protection, action et ID séquentiel de colonne.
Autorisations
Nécessite l'appartenance au rôle public .
Les informations retournées sont sujettes à des restrictions d'accès aux métadonnées. Les entités sur lesquelles le principal ne possède pas d'autorisation n'apparaissent pas. Pour plus d'informations, consultez Metadata Visibility Configuration.
Exemples
R. Répertorier les autorisations pour une table
Dans l'exemple ci-dessous, les autorisations relatives à la table titles
sont répertoriées.
EXEC sp_helprotect 'titles';
B. Répertorier les autorisations pour un utilisateur
Dans l'exemple ci-dessous, toutes les autorisations que l'utilisateur Judy
possède dans la base de données active sont répertoriées.
EXEC sp_helprotect NULL, 'Judy';
C. Répertorier les autorisations accordées par un utilisateur spécifique
Dans l'exemple ci-dessous, toutes les autorisations qui ont été accordées par l'utilisateur Judy
dans la base de données active sont répertoriées et NULL
est utilisé comme espace réservé pour les paramètres manquants.
EXEC sp_helprotect NULL, NULL, 'Judy';
D. Répertorier uniquement les autorisations d'instruction
Dans l'exemple ci-dessous, toutes les autorisations d'instruction de la base de données active sont répertoriées et NULL
est utilisé comme espace réservé pour les paramètres manquants.
EXEC sp_helprotect NULL, NULL, NULL, 's';
e. Liste des autorisations pour une instruction CREATE
L'exemple suivant dresse la liste de tous les utilisateurs disposant de l'autorisation CREATE TABLE.
EXEC sp_helprotect @name = 'CREATE TABLE';
Voir aussi
Procédures stockées liées à la sécurité (Transact-SQL)
DENY (Transact-SQL)
GRANT (Transact-SQL)
REVOKE (Transact-SQL)
Procédures stockées système (Transact-SQL)
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour