Comment puis-je obtenir les autorisations accordées pour une procédure stockée dans sybase?Obtenir les autorisations pour la procédure stockée dans sybase
3
A
Répondre
5
Cela dépend de la forme que vous voulez cette information dans.
- Si vous écrivez SQL dans un but interne, et vous avez besoin que d'informations sous forme de données pour lui, la réponse de Kolchanov est correct.
- Si vous simplement exécuter des fonctions de DBA, puis un certain nombre d'outils d'interface graphique DBA (SybaseCentral est livré avec le CD, DBArtisan est beaucoup mieux) fournir cette information par une fenêtre de l'explorateur et clique
- Si vous n'avez caractère base l'accès, utilisez
sp_helprotect proc_name
- Si vous n'avez caractère base l'accès, utilisez
Ensuite, allez à: Adaptive Server Enterprise 15.5/Manuel de référence: Procédures, et suivez l'explorateur.
1
Adaptive Server Enterprise 15.5> Manuel de référence: Tables> Tables système
sysprotects
Sysprotects contient des informations sur les autorisations qui ont été accordées ou révoquée, les utilisateurs, les groupes et rôles.
3
Si je voulais vérifier les autorisations pour l'objet "whatever_ [Table | procédure]", je courrais la requête suivante:
Exemple pour "whatever" étant une table
Displaying result for:
---------------------
select permission = a.name
from master.dbo.spt_values a
, master.dbo.spt_values b
, sysprotects p
, sysobjects o
where a.type = "T"
and a.number = p.action
and b.type = "T"
and b.number = (p.protecttype + 204)
and o.id = p.id
and o.name = 'whatever_table'
permission
----------------------------
References
Select
Insert
Delete
Update
5 Row(s) affected
Exemple "quelconque" étant une procédure stockée
Displaying result for:
---------------------
select permission = a.name
from master.dbo.spt_values a
, master.dbo.spt_values b
, sysprotects p
, sysobjects o
where a.type = "T"
and a.number = p.action
and b.type = "T"
and b.number = (p.protecttype + 204)
and o.id = p.id
and o.name = 'whatever_procedure'
permission
----------------------------
Execute
1 Row(s) affected