Netwrix 1Secure oferece visibilidade unificada de dados e identidade — gratuito por 14 dias com acesso completo.Comece um teste gratuito

Centro de recursosGuia prático
Como verificar privilégios de usuário no SQL Server

Como verificar privilégios de usuário no SQL Server

Unknown block type "undefined", specify a component for it in the `components.types` option

Solução Nativa

  • Inicie o Microsoft SQL Server Management Studio (MSSMS).
  • No menu File, clique em Connect Object Explorer. Em seguida, na caixa de diálogo Connect to Server:
    • Na caixa de lista Server type, selecione Database Engine.
    • No campo Server name de texto, digite o nome do servidor de cluster SQL.
    • In the Authentication list box, choose your SQL Server Authentication method and specify the user credentials. If you do not want to re-type the password every time you connect to the server, tick Remember password.
  • Clique Connect.
  • Após a conexão, clique em “New Query” e cole a seguinte consulta no campo de consulta (digite o nome de usuário completo, como ENTERPRISE\J.Carter):
      --- Creating temporary table for permissions list ---
SELECT entity_class,
NAME AS entity_name,
subentity_name,
permission_name
INTO #permsummary
FROM (
--- Collecting object-level permissions ---
SELECT 'OBJECT' AS entity_class,
NAME,
subentity_name,
permission_name
FROM sys.objects
CROSS apply Fn_my_permissions(Quotename(NAME), 'OBJECT') a
UNION ALL
--- Collecting database-level permissions ---
SELECT 'DATABASE' AS entity_class,
NAME,
subentity_name,
permission_name
FROM sys.databases
CROSS apply Fn_my_permissions(Quotename(NAME), 'DATABASE') a
UNION ALL
--- Collecting server-level permissions ---
SELECT 'SERVER' AS entity_class,
@@SERVERNAME AS NAME,
subentity_name,
permission_name
FROM Fn_my_permissions(NULL, 'SERVER')) p
--- Grouping all effective permissions for single object ---
SELECT DISTINCT entity_class,
entity_name,
subentity_name,
permissions
FROM (SELECT *
FROM #permsummary) p1
CROSS APPLY (SELECT permission_name + ', '
FROM (SELECT *
FROM #permsummary) p2
WHERE p2.entity_class = p1.entity_class
AND p2.entity_name = p1.entity_name
AND p2.subentity_name = p1.subentity_name
ORDER BY entity_class
FOR xml path('')) D ( permissions )
--- Delete temporary table ---
DROP TABLE #permsummary
      
  • Clique em Execute (ou pressione a tecla F5).
  • Revise a lista de funções e principais no nível do servidor (nomes dos membros) nos resultados da execução da consulta:
Image

Netwrix Auditor para SQL Server

  • Abra o Netwrix Auditor e navegue até Relatórios -> Predefinidos -> SQL Server - Estado em Tempo -> Permissões de Conta no SQL Server.
  • Especifique os seguintes filtros:
    • No filtro de User account, digite o nome completo do usuário (como ENTERPRISE\J.Carter).
    • No filtro de Object type, escolha Select all para ver todas as permissões de um usuário.
  • Clique em View para ver um relatório claro sobre as permissões efetivas para o usuário:
Image

O campo “Meios Concedidos” reflete as funções de servidor e funções de banco de dados atribuídas ao usuário em questão. Clicar nos valores abrirá o relatório de Meios Concedidos do SQL Server, que mostra cada conta com permissões explícitas e herdadas no objeto SQL Server selecionado e como essas permissões foram concedidas.

Compartilhar em