Compartilhar via


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

Aplica-se a:SQL ServerInstância Gerenciada de SQL do Azure

Por padrão, executar o SQL Server Profiler requer as mesmas permissões do usuário que os procedimentos armazenados do Transact-SQL que são 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

Rastreamento do SQL e SQL Server Profiler estão preteridos. O Microsoft.SqlServer.Management.Trace namespace que contém os objetos Rastreamento e Reprodução 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 desenvolvimentos novos e planeje modificar os aplicativos que atualmente o utilizam.

Em vez disso, use Eventos Estendidos. Para obter mais informações sobre a visão geral de Eventos Estendidos, consulte Início Rápido: Eventos Estendidos e Usar o Criador de Perfil XEvent do SSMS.

Observações

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

    Além disso, também é recomendável somente salvar arquivos do Plano de Execução ou arquivos de rastreamento que contenham eventos relacionados ao Plano de Execução em um local que use o sistema de arquivos NTFS e restringir o acesso a usuários autorizados a exibir informações potencialmente confidenciais.

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

  • Quando você tenta se conectar a um Banco de Dados SQL do Azure do SQL Server Profiler, ele gera incorretamente 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 tem suporte do SQL Server Profiler.

Permissões usadas para reexecutar 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 reprodução, o SQL Server Profiler usará o comando EXECUTE AS se um evento de Login de Auditoria for encontrado no arquivo de 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 repetido, serão realizadas as seguintes verificações de permissão:

  1. User1, que possui a permissão ALTER TRACE, começa a executar uma reprodução de um traço.

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

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

  4. O SQL Server tenta autenticar User2e, dependendo dos resultados, ocorre um destes procedimentos:

    1. Se User2 não puder ser autenticado, o SQL Server Profiler retornará um erro e continuará reproduzindo o rastreamento como User1.

    2. Se User2 for autenticado com sucesso, reproduzindo o rastreamento enquanto User2 continua.

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

    1. Se o User2 tiver permissões no banco de dados de destino, a personificação foi bem-sucedida e o rastreamento é 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 um destes procedimentos:

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

    2. Se nenhuma Guest conta existir 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ões durante a repetição de rastreamentos:

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