sp_helprotect (Transact-SQL)
Retorna um relatório que tem informações sobre permissões para um objeto ou permissões de instrução, no banco de dados atual.
Importante |
---|
O sp_helprotect não retorna informações sobre protegíveis que foram apresentados no SQL Server 2005. Use sys.database_permissions e fn_builtin_permissions ao invés. |
Sintaxe
sp_helprotect [ [ @name = ] 'object_statement' ]
[ , [ @username = ] 'security_account' ]
[ , [ @grantorname = ] 'grantor' ]
[ , [ @permissionarea = ] 'type' ]
Argumentos
[ @name = ] 'object_statement'
É o nome do objeto no banco de dados atual ou uma instrução, que tem as permissões para relatar. O object_statement é um nvarchar(776), com o padrão NULL, que retorna todos os objetos e todas as permissões de instrução. Se o valor for um objeto (tabela, exibição, procedimento armazenado ou procedimento armazenado estendido), ele deverá ser um objeto válido no banco de dados atual. O nome de objeto pode incluir um qualificador de proprietário no formato owner**.**object.Se o object_statement for uma instrução, poderá ser uma das instruções a seguir:
CREATE DATABASE
CREATE DEFAULT
CREATE FUNCTION
CREATE PROCEDURE
CREATE RULE
CREATE TABLE
CREATE VIEW
BACKUP DATABASE
BACKUP LOG
[ @username = ] 'security_account'
É o nome do principal para o qual as permissões são retornadas. O security_account é um sysname, com o padrão de NULL, que retorna todos principais no banco de dados atual. O security_account deve existir no banco de dados atual.[ @grantorname = ] 'grantor'
É o nome do principal que concedeu as permissões. O grantor é um sysname, com o padrão de NULL, que retorna todas as informações de permissões concedidas por qualquer principal no banco de dados.[ @permissionarea = ] 'type'
É uma cadeia de caracteres que indica se mostrará permissões de objetos (cadeia de caracteres o), permissões de instruções (cadeia de caracteres s) ou ambas (os). O type é um varchar(10), com um padrão de os. type que pode ser qualquer combinação de o e s, com ou sem vírgulas ou espaços entre o e s.
Valores de código de retorno
0 (êxito) ou 1 (falha)
Conjuntos de resultados
Nome da coluna |
Tipo de dados |
Descrição |
---|---|---|
Owner |
sysname |
Nome do proprietário do objeto. |
Object |
sysname |
Nome do objeto. |
Grantee |
sysname |
Nome do principal para o qual foram concedidas permissões. |
Grantor |
sysname |
Nome do principal que concedeu permissões ao usuário autorizado especificado. |
ProtectType |
nvarchar(10) |
Nome do tipo de proteção: GRANT REVOKE |
Action |
nvarchar(20) |
Nome da permissão:
|
Column |
sysname |
Tipo de permissão: Todas = Permissão que cobre todas as colunas atuais do objeto. Nova = Permissão que cobre qualquer coluna nova que possa ser alterada (com a instrução ALTER) no objeto no futuro. Todas+Nova = combinação de Todas e Nova. |
Comentários
Todos os parâmetros no procedimento seguinte são opcionais. Se for executado sem parâmetros, o sp_helprotect mostra todas as permissões que tenham sido concedidas ou negadas no banco de dados atual.
Se alguns, mas não todos os parâmetros forem especificados, use parâmetros nomeados para identificar o parâmetro particular ou NULL como um espaço reservado. Por exemplo, para relatar todas as permissões para o proprietário do banco de dados de concessor (dbo), execute o seguinte:
EXEC sp_helprotect NULL, NULL, dbo
Ou
EXEC sp_helprotect @grantorname = 'dbo'
O relatório de saída é classificado por categoria de permissão, proprietário, usuário autorizado, concessor, categoria de tipo de proteção, tipo de proteção, ação e ID seqüencial de coluna.
Permissões
Requer associação na função pública.
As informações retornadas estão sujeitas a restrições no acesso para metadados. Entidades em que o principal não tem nenhuma permissão não aparecem. Para obter mais informações, consulte Configuração de visibilidade de metadados.
Exemplos
A. Listando as permissões para uma tabela
O exemplo seguinte lista as permissões para a tabela titles.
EXEC sp_helprotect 'titles'
B. Listando as permissões para um usuário
O exemplo seguinte lista todas as permissões que usuário Judy tem no banco de dados atual.
EXEC sp_helprotect NULL, 'Judy'
C. Listando as permissões concedidas por um usuário específico
O exemplo a seguir lista todas as permissões que foram concedidas pelo usuário Judy no banco de dados atual, e usa o NULL como um espaço reservado para os parâmetros faltantes.
EXEC sp_helprotect NULL, NULL, 'Judy'
D. Listando apenas as permissões de instrução
O exemplo a seguir lista todas as permissões de instruções no banco de dados atual, e usa o NULL como um espaço reservado para os parâmetros faltantes.
EXEC sp_helprotect NULL, NULL, NULL, 's'