Pergunta

Como obtenho as permissões concedidas para um procedimento armazenado em Sybase?

Foi útil?

Solução

Depende do formulário em que você deseja essas informações.

  • Se você estiver escrevendo SQL para algum objetivo interno e precisará dessas informações como dados para isso, a resposta de Kolchanov está correta.
  • Se você estiver apenas executando funções DBA, qualquer número de ferramentas de GUI da DBA (SybaseCentral vem com o CD; DBartisan é muito melhor) forneça essas informações por meio de uma janela do Explorer e cliques
    • Se você tem apenas acesso baseado em caráter, use
      sp_helprotect proc_name

Link para manuais online sybase

Em seguida, vá para: Adaptive Server Enterprise 15.5/Manual de Referência: Procedimentos, siga o Explorer.

Outras dicas

Se eu quisesse verificar as permissões para o objeto "Qualquer coisa_ [Tabela | Procedimento], eu executaria a seguinte consulta:

Exemplo para "qualquer coisa" ser uma tabela

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

Exemplo para "qualquer coisa" ser um procedimento armazenado

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

Adaptive Server Enterprise 15.5> Manual de referência: Tabelas> Tabelas do sistema

Sysprotecta

O SysProtects contém informações sobre permissões que foram concedidas ou revogadas de usuários, grupos e funções.

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc36274.1550/html/tables/x16615.htm

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top