Magic Quadrant™ para gerenciamento de acesso privilegiado 2025: Netwrix reconhecida pelo quarto ano consecutivo. Baixe o relatório.

Plataforma
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

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