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.

Observação importanteImportante

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.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

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:

  • REFERENCES

  • SELECT

  • INSERT

  • DELETE

  • UPDATE

  • CREATE TABLE

  • CREATE DATABASE

  • CREATE FUNCTION

  • CREATE RULE

  • CREATE VIEW

  • CREATE PROCEDURE

  • EXECUTE

  • BACKUP DATABASE

  • CREATE DEFAULT

  • BACKUP LOG

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'