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 dispor da permissão ALTER TRACE. Para obter mais informações, confira CONCEDER permissões de servidor (Transact-SQL).

Importante

Planos de Consulta e Texto de Consulta, capturados pelo rastreamento do SQL, bem como por outros meios, por exemplo, DMVs e DMFs (Exibições e Funções de Gerenciamento Dinâmico), Eventos Estendidos, podem conter informações confidenciais. Portanto, as permissões ALTER TRACE, SHOWPLAN, e a permissão de cobertura VIEW SERVER STATE devem ser concedidas apenas aos que precisam delas para atender às suas funções de trabalho, com base no princípio de privilégios mínimos.

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.

Importante

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

Em vez disso, use Eventos Estendidos. Para obter mais informações sobre Eventos Estendidos, confira Início rápido: eventos estendidos no SQL Server e no SSMS XEvent Profiler.

Observação

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

Observação

Quando você tenta se conectar a um banco de dados SQL do Azure por meio do SQL Server Profiler, ele gera incorretamente a seguinte mensagem de erro enganosa:

  • Para executar um rastreamento no SQL Server, você precisa ser membro da função de servidor fixa sysadmin ou ter a permissão ALTER TRACE.

A mensagem deveria explicar que o Banco de Dados SQL do Azure não tem suporte do SQL Server Profiler.

Permissões usadas para repetir rastreamentos

Repetir rastreamentos também requer que o usuário responsável disponha da permissão ALTER TRACE.

No entanto, durante a repetição, o SQL Server Profiler usará o comando EXECUTE AS se um evento Audit Login for encontrado no rastreamento que está sendo repetido. O SQL Server Profiler usa o comando EXECUTE AS 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. O Usuário1, que tem a permissão ALTER TRACE, inicia a repetição de um rastreamento.

  2. Um evento de logon para o Usuário2 é encontrado no rastreamento que está sendo repetido.

  3. O SQL Server Profiler usa o comando EXECUTE AS para representar o Usuário2.

  4. O SQL Server tenta autenticar User2 e, dependendo dos resultados, uma destas situações ocorrerá:

    1. Se o Usuário2 não puder ser autenticado, o SQL Server Profiler retornará um erro e continuará repetindo o rastreamento como Usuário1.

    2. Se o Usuário2 for autenticado com êxito, a repetição do rastreamento continua como Usuário2.

  5. As permissões do Usuário2 são verificadas no banco de dados de destino e, dependendo dos resultados, uma destas situações ocorrerá:

    1. Se o Usuário2 tiver permissões no banco de dados de destino, a representação tem êxito e o rastreamento é repetido como Usuário2.

    2. Se o Usuário2 não tiver permissões no banco de dados de destino, o servidor buscará um usuário Convidado naquele banco de dados.

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

    1. Se existir uma conta Convidado, o rastreamento é repetido como a conta Convidado.

    2. Se não existir conta Convidado no banco de dados de destino, é retornado um erro e o rastreamento é repetido como Usuário1.

O diagrama a seguir mostra esse processo de verificação de permissões durante a repetição de rastreamentos:

SQL Server Profiler replay trace permissions.

Confira também