Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
Devolve um relatório que é informação sobre permissões de utilizador para um objeto, ou permissões de instruções, na base de dados atual.
Importante
sp_helprotectnão devolve informações sobre securáveis que foram introduzidas no SQL Server 2005 (9.x) e versões posteriores. Usa sys.database_permissions e sys.fn_builtin_permissions em vez disso.
Não lista permissões que são sempre atribuídas aos papéis fixos do servidor ou à base de dados fixa. Não inclui logins nem utilizadores que recebem permissões com base na sua pertença a uma função.
Transact-SQL convenções de sintaxe
Sintaxe
sys.sp_helprotect
[ [ @name = ] N'name' ]
[ , [ @username = ] N'username' ]
[ , [ @grantorname = ] N'grantorname' ]
[ , [ @permissionarea = ] 'permissionarea' ]
[ ; ]
Arguments
[ @name = ] N'nome'
O nome do objeto na base de dados atual, ou uma instrução, são as permissões para reportar.
@name é nvarchar(776), com um padrão de NULL, que devolve todas as permissões de objeto e instrução. Se o valor for um objeto (tabela, vista, procedimento armazenado ou procedimento armazenado estendido), deve ser um objeto válido na base de dados atual. O nome do objeto pode incluir um qualificador de proprietário no formulário <owner>.<object>.
Se @name é uma afirmação, pode ser uma CREATE afirmação.
[ @username = ] N'nome de utilizador'
O nome do principal para o qual são devolvidas as permissões.
@username é sysname, com um padrão de NULL, que devolve todos os principais da base de dados atual.
@username deve existir na base de dados atual.
[ @grantorname = ] N'nome do doentente'
O nome do diretor que concedeu as permissões.
@grantorname é sysname, com um padrão de NULL, que devolve toda a informação das permissões concedidas por qualquer principal na base de dados.
[ @permissionarea = ] 'área de permissões'
Uma cadeia de caracteres que indica se deve mostrar permissões de objeto (cadeia ode caracteres), permissões de instrução (cadeia sde caracteres), ou ambas (o s).
@permissionarea é varchar(10), com um padrão de o s.
@permissionarea 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 (sucesso) ou 1 (fracasso).
Conjunto de resultados
| Nome da coluna | Tipo de dados | Description |
|---|---|---|
Owner |
sysname | Nome do proprietário do objeto. |
Object |
sysname | Nome do objeto. |
Grantee |
sysname | Nome do diretor a quem foram concedidas as permissões. |
Grantor |
sysname | Nome do principal que concedeu as permissões ao beneficiário especificado. |
ProtectType |
Nvarchar(10) | Nome do tipo de proteção:GRANT REVOKE |
Action |
nvarchar(60) | Nome da autorização. Declarações de permissão válidas dependem do tipo de objeto. |
Column |
sysname | Tipo de permissão:All = Permissão cobre todas as colunas atuais do objeto.New = Permissão cobre quaisquer novas colunas que possam ser alteradas (usando a ALTER instrução) no objeto no futuro.All+New = Combinação de All e New.Devolve um ponto se o tipo de permissão não se aplicar às colunas. |
Remarks
Todos os parâmetros do procedimento seguinte são opcionais. Se executado sem parâmetros, sp_helprotect mostra todas as permissões concedidas ou negadas na base de dados atual.
Se alguns, mas não todos, os parâmetros forem especificados, use parâmetros nomeados para identificar o parâmetro em questão ou NULL como marcador de lugar. Por exemplo, para reportar todas as permissões para o proprietário da base de dados concedente (dbo), execute o seguinte script:
EXECUTE sp_helprotect NULL, NULL, dbo;
Ou
EXECUTE sp_helprotect @grantorname = 'dbo';
O relatório de saída está ordenado por categoria de permissões, proprietário, objeto, concessionário, concedente, categoria tipo de proteção, tipo de proteção, ação e ID sequencial da coluna.
Permissions
Requer adesão à função pública de .
A informação devolvida está sujeita a restrições no acesso aos metadados. Entidades sobre as quais o principal não tem permissão não aparecem. Para obter mais informações, consulte Configuração de visibilidade de metadados.
Examples
A. Liste as permissões para uma tabela
O exemplo seguinte lista as permissões para a titles tabela.
EXECUTE sp_helprotect 'titles';
B. Liste as permissões para um utilizador
O exemplo seguinte lista todas as permissões que esse utilizador Judy tem na base de dados atual.
EXECUTE sp_helprotect NULL, 'Judy';
C. Liste as permissões concedidas por um utilizador específico
O exemplo seguinte lista todas as permissões concedidas pelo utilizador Judy na base de dados atual e é usado NULL como marcador para os parâmetros em falta.
EXECUTE sp_helprotect NULL, NULL, 'Judy';
D. Liste apenas as permissões da instrução
O exemplo seguinte lista todas as permissões de instruções na base de dados atual e é usado NULL como marcador de posição para os parâmetros em falta.
EXECUTE sp_helprotect NULL, NULL, NULL, 's';
e. Listar as permissões para uma instrução CREATE
O exemplo seguinte lista todos os utilizadores que receberam essa CREATE TABLE permissão.
EXECUTE sp_helprotect @name = 'CREATE TABLE';