Partilhar via


Permissões necessárias para executar o SQL Server Profiler

Aplica-se a:SQL ServerAzure SQL Managed Instance

Por padrão, a execução do SQL Server Profiler requer as mesmas permissões de usuário que os procedimentos armazenados Transact-SQL usados para criar rastreamentos. Para executar o SQL Server Profiler, os usuários devem receber a ALTER TRACE permissão. Para obter mais informações, consulte GRANT Server Permissions.

Observação

O SQL Trace e o SQL Server Profiler foram preteridos. O Microsoft.SqlServer.Management.Trace namespace que contém os objetos Trace and Replay do Microsoft SQL Server também foi preterido.

Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso.

Em vez disso, use Extended Events. Para obter mais informações sobre visão geral de Eventos Estendidos, consulte Guia de início rápido: eventos estendidos e Usar o SSMS XEvent Profiler.

Observações

  • Planos de consulta e texto de consulta, capturados pelo Rastreamento SQL, bem como por outros meios, por exemplo, exibições de gerenciamento dinâmico (DMVs), funções de gerenciamento dinâmico (DMFs) e eventos estendidos, podem conter informações confidenciais. Portanto, as permissões ALTER TRACE, SHOWPLANe a permissão VIEW SERVER STATE de cobertura devem ser concedidas apenas aos usuários que precisam dessas permissões para cumprir suas funções de trabalho, com base no princípio do menor privilégio.

    Além disso, recomendamos que você salve apenas arquivos Showplan ou arquivos de rastreamento que contenham eventos relacionados a Showplan em um local que use o sistema de arquivos NTFS e restrinja o acesso a usuários autorizados a exibir informações potencialmente confidenciais.

  • Há suporte para cargas de trabalho do SQL Server Profiler for Analysis Services.

  • Quando você tenta se conectar a um Banco de Dados SQL do Azure a partir do SQL Server Profiler, ele incorretamente lança uma mensagem de erro enganosa:

    In order to run a trace against SQL Server, you must be a member of **sysadmin** fixed server role or have the ALTER TRACE permission.
    

    A mensagem deve indicar que o Banco de Dados SQL do Azure não é suportado pelo SQL Server Profiler.

Permissões usadas para reproduzir rastreamentos

A reprodução de rastreamentos também requer que o usuário que está reproduzindo o rastreamento tenha a ALTER TRACE permissão.

No entanto, durante a repetição, o SQL Server Profiler usa o EXECUTE AS comando se um evento de Logon de Auditoria for encontrado no rastreamento que está sendo reproduzido. O SQL Server Profiler usa o EXECUTE AS comando para representar o usuário associado ao evento de logon.

Se o SQL Server Profiler encontrar um evento de logon em um rastreamento que está sendo reproduzido, as seguintes verificações de permissão serão executadas:

  1. User1, que tem a ALTER TRACE permissão, começa a reproduzir um traço.

  2. Um evento de login para User2 é encontrado no rastreamento reproduzido.

  3. O SQL Server Profiler usa o comando EXECUTE AS para representar User2.

  4. O SQL Server tenta autenticar User2e, dependendo dos resultados, ocorre uma das seguintes situações:

    1. Se User2 não for possível autenticar, o SQL Server Profiler retornará um erro e continuará reproduzindo o rastreamento como User1.

    2. Se User2 for autenticado com êxito, repita o rastreamento como User2 continua.

  5. As permissões para User2 são verificadas no banco de dados de destino e, dependendo dos resultados, ocorre um dos seguintes cenários:

    1. Se User2 tiver permissões no banco de dados de destino, a representação foi bem-sucedida e o rastreamento será reproduzido como User2.

    2. Se User2 não tiver permissões no banco de dados de destino, o servidor verificará se há um Guest usuário nesse banco de dados.

  6. A existência de um Guest usuário é verificada no banco de dados de destino e, dependendo dos resultados, ocorre uma das seguintes situações:

    1. Se existir uma conta Guest, o rastreamento será reproduzido como conta Guest.

    2. Se não existir nenhuma Guest conta no banco de dados de destino, um erro será retornado e o rastreamento será reproduzido como User1.

O diagrama a seguir mostra esse processo de verificação de permissão ao reproduzir rastreamentos:

Captura de tela das permissões de rastreamento de repetição do SQL Server Profiler.