Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 10498|Resposta: 0

[Fonte] SQL Server para consultar as permissões e funções dos objetos do usuário

[Copiar link]
Publicado em 28/01/2015 16:33:32 | | |
Consulta de Permissões de Objetos e Papéis de Usuários no SQL Server[@more@]

-- Consultar as permissões de objeto do usuário
exec sp_helprotect NULL, 'UserName'
-- Consultar o papel do usuário
exec sp_helpuser 'Nome de Usuário'
-- Consultar quais usuários têm um papel específico no sistema
Executivo sp_helpsrvrolemember 'sysadmin'
-- Papéis aninhados podem ser consultados
COM tree_roles
(
SELECIONE role_principal_id, member_principal_id
DE sys.database_role_members
ONDE member_principal_id = USER_ID('Nome de Usuário')
UNION ALL
SELECIONE c.role_principal_id.c.member_principal_id
DE sys.database_role_members como c
Junção interna tree_roles
em tree_roles.membro_principal_id = c.role_principal_id
)
SELECT distinto USER_NAME(role_principal_id) Nome do Papel
DE tree_roles
-- Tabela básica relacionada a outras permissões
selecione * dos sysusers
select * a partir de syspermissions
-- Quem tem acesso à minha instância do SQL Server?
SELECIONAR
nome como Nome de Usuário, type_desc como Tipo de Usuário is_disabled como IsDisabled
DE sys.server_principals
onde type_desc em('WINDOWS_LOGIN', 'SQL_LOGIN')
ordem por UserType, nome, IsDisabled
-- Quem tem acesso aos meus bancos de dados?
SELECIONAR
dp.name como Nome de Usuário, dp.type_desc como Tipo de Usuário, sp.name como Nome de Login, sp.type_desc como LoginType
DE sys.database_principals DP
JOIN sys.server_principals sp EM dp.principal_id = sp.principal_id
ordem por UserType
selecione * de sys.database_principals
-- Funções de Servidor
selecionar
p.name como Nome de Usuário, p.type_desc como Tipo de Usuário, pp.name como NomePapelDeServidor pp.type_desc como PapelDeServidor
De sys.server_role_members papéis
junte-se sys.server_principals p em roles.member_principal_id = p.principal_id
junte-se sys.server_principals pp em roles.role_principal_id = pp.principal_id
onde pp.name em('sysadmin')
ordem por NomePapelDeServidor, Nome de Usuário
-- Funções em Banco de Dados
SELECIONAR
p.name como Nome de Usuário, p.type_desc como Tipo de Usuário, pp.name como Nome DBRole, pp.type_desc como DBRoleType, pp.is_fixed_role como IfFixedRole
DE sys.database_role_members FUNÇÕES
JOIN sys.database_principals p ON roles.member_principal_id = p.principal_id
JOIN sys.database_principals pp ON roles.role_principal_id = pp.principal_id
onde pp.name em('db_owner', 'db_datawriter')
-- O que esses usuários podem fazer?
SELECIONAR
grantor.name como NomeConcedente, dp.state_desc como StateDesc, dp.class_desc como ClassDesc dp.permission_name como PermissionName ,
OBJECT_NAME(major_id) como NomeDeObjeto, NomeBeneficiário = grantee.name
DE sys.database_permissions DP
JUNTE-sys.database_principals beneficiário em dp.grantee_principal_id = grantee.principal_id
JUNTE-sys.database_principals instituidor em dp.grantor_principal_id = grantor.principal_id
onde permission_name como '%ATUALIZAÇÃO%'






Anterior:Configuração do servidor SQLSERVER
Próximo:ComboBox configurado para somente leitura (somente seleção)
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com