2010-11-25 76 views

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

Link to Sybase Online Manuals

Ensuite, allez à: Adaptive Server Enterprise 15.5/Manuel de référence: Procédures, et suivez l'explorateur.

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