Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Azure SQL Managed Instance
O SQL Server Profiler é uma interface para criar e gerenciar rastreamentos e analisar e reproduzir resultados de rastreamento. Os eventos são guardados num ficheiro de rastreio que podes depois analisar ou usar para repetir uma série específica de passos ao diagnosticar um problema.
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 da seguinte maneira:
To run a trace against SQL Server, you must be a sysadmin fixed server role member 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.
Aviso de preterição
Importante
O SQL Trace e o SQL Server Profiler foram preteridos. Usa Eventos Estendidos em vez disso. 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.
O Microsoft.SqlServer.Management.Trace namespace que contém os objetos SQL Server Trace e Replay também está obsoleto. No entanto, há suporte para cargas de trabalho do Analysis Services.
Para mais informações sobre Eventos Estendidos, consulte os seguintes artigos:
- Guia de Início Rápido: Eventos Estendidos
- Para SQL Server Management Studio, use o XEvent Profiler
- Para a extensão MSSQL para Visual Studio Code, use o Query Profiler (Pré-visualização).
Onde está o Profiler?
Podes iniciar o Profiler dentro do Run SQL Server Profiler.
Capturar e reproduzir dados de rastreamento
A tabela seguinte mostra as funcionalidades que pode usar no SQL Server para capturar e reproduzir os seus dados de rastreamento.
| Carga de trabalho de funcionalidades / alvo | Motor Relacional | Analysis Services |
|---|---|---|
| Captura de vestígios | Interface gráfica do utilizador de Visão geral dos Eventos Estendidos no SQL Server Management Studio | SQL Server Profiler |
| Rastrear repetição | Visão geral do SQL Server Distributed Replay | SQL Server Profiler |
Utilizar o SQL Server Profiler
O Microsoft SQL Server Profiler é uma interface gráfica do utilizador do SQL Trace para monitorizar uma instância do motor de base de dados ou dos Analysis Services. Você pode capturar e salvar dados sobre cada evento em um arquivo ou tabela para analisar posteriormente. Por exemplo, você pode monitorar um ambiente de produção para ver quais procedimentos armazenados afetam o desempenho executando muito lentamente. Use o SQL Server Profiler para atividades tais como:
Analisar consultas problemáticas para encontrar a causa.
Localizando e diagnosticando consultas de execução lenta.
Capturando a série de instruções Transact-SQL que resultam num problema. O rastreamento salvo pode replicar o problema em um servidor de teste onde o problema pode ser diagnosticado.
Monitoramento do desempenho do SQL Server para ajustar cargas de trabalho. Para obter informações sobre como ajustar o design do banco de dados físico para cargas de trabalho de banco de dados, consulte Orientador de Otimização do Mecanismo de Banco de Dados.
Correlacionar contadores de desempenho para diagnosticar problemas.
O SQL Server Profiler também dá suporte à auditoria das ações executadas em instâncias do SQL Server. As auditorias registram ações relacionadas à segurança para revisão posterior por um administrador de segurança.
Conceitos do SQL Server Profiler
Para usar o SQL Server Profiler, você precisa entender os termos que descrevem a maneira como a ferramenta funciona.
Compreender o Rastreamento SQL ajuda ao trabalhar com o SQL Server Profiler. Para obter mais informações, consulte Rastreamento SQL.
Evento
Um evento é uma ação gerada em uma instância do Mecanismo de Banco de Dados do SQL Server. Exemplos destes eventos incluem:
- Conexões de login, falhas e desconexões.
-
SELECTTransact-SQL ,INSERT,UPDATE, eDELETEdeclarações. - Status do lote de chamada de procedimento remoto (RPC).
- O início ou o fim de um procedimento armazenado.
- O início ou o fim das instruções dentro dos procedimentos armazenados.
- O início ou o fim de um lote SQL.
- Um erro gravado no log de erros do SQL Server.
- Um bloqueio adquirido ou liberado em um objeto de banco de dados.
- Um cursor aberto.
- Verificações de permissão de segurança.
O traço exibe todos os dados gerados por um evento em uma única linha. Colunas de dados que descrevem o evento em detalhe intersectam esta linha.
EventClass
Uma classe de evento é um tipo de evento que pode rastrear. A classe de evento contém todos os dados que um evento pode relatar. A lista seguinte mostra exemplos de classes de evento:
- SQL:BatchCompleted
- Login de auditoria
- Encerrar sessão da auditoria
- Bloqueio: Obtido
- Bloqueio: Liberado
CategoriaDeEvento
Uma categoria de evento define como o SQL Server Profiler agrupa os eventos. Por exemplo, a categoria de eventos Locks agrupa todas as classes de eventos de bloqueios. No entanto, as categorias de eventos existem apenas dentro do SQL Server Profiler. Este termo não reflete a forma como os eventos do Engine são agrupados.
Coluna de Dados
Uma coluna de dados é um atributo de uma classe de evento capturada no rastreamento. Como a classe de evento determina o tipo de dados que podem ser coletados, nem todas as colunas de dados se aplicam a todas as classes de evento. Por exemplo, em um rastreamento que captura a classe de evento Lock: Acquired , a coluna de dados BinaryData contém o valor da ID ou linha da página bloqueada, mas a coluna de dados Integer Data não contém nenhum valor porque não se aplica à classe de evento que está sendo capturada.
Modelo
Um modelo define a configuração padrão para um rastreamento. Especificamente, ele inclui as classes de evento que você deseja monitorar com o SQL Server Profiler. Por exemplo, você pode criar um modelo especificando os eventos, colunas de dados e filtros. Não podes executar um template diretamente. Em vez disso, guarda-o como um ficheiro com uma .tdf extensão. Uma vez salvo, o modelo controla os dados de rastreamento capturados quando um rastreamento baseado no modelo é iniciado.
Rastreio
Um rastreamento captura dados com base em classes de eventos, colunas de dados e filtros selecionados. Por exemplo, você pode criar um rastreamento para monitorar erros de exceção. Selecione a classe de evento Exception e as colunas de dados Error, State e Severity para fazer isso. Os resultados de rastreamento fornecem dados significativos apenas se os dados forem recolhidos destas três colunas. Pode executar um rastreio configurado desta forma e recolher dados sobre quaisquer eventos de exceção no servidor. Guarde os dados de rastreio ou use-os imediatamente para análise. Podes repetir as pistas mais tarde, embora certos eventos, como os eventos de exceção , nunca sejam repetidos. Você também pode salvar o rastreamento como um modelo para criar rastreamentos semelhantes.
O SQL Server fornece duas maneiras de rastrear uma instância do SQL Server: você pode rastrear com o SQL Server Profiler ou pode rastrear usando procedimentos armazenados do sistema.
Filtro
Quando cria um rastreio ou modelo, pode definir critérios para filtrar os dados que o evento recolhe. Para evitar que os vestígios se tornem demasiado grandes, filtre-os de modo a recolher apenas um subconjunto dos dados do evento. Por exemplo, limitar os nomes de usuário do Microsoft Windows no rastreamento a usuários específicos reduz os dados de saída.
Se não definires um filtro, a saída do traço devolve todos os eventos das classes de eventos selecionadas.
Tarefas do SQL Server Profiler
| Descrição da tarefa | Artigo |
|---|---|
| Lista os modelos predefinidos que o SQL Server fornece para monitorar determinados eventos e as permissões necessárias para usar rastreamentos de repetição. | Modelos e permissões do SQL Server Profiler |
| Descreve como executar o SQL Server Profiler. | Permissões necessárias para executar o SQL Server Profiler |
| Descreve como criar um rastreamento. | Criar um rastreamento (SQL Server Profiler) |
| Descreve como especificar eventos e colunas de dados para um arquivo de rastreamento. | Especificar eventos e colunas de dados para um arquivo de rastreamento (SQL Server Profiler) |
| Descreve como salvar os resultados do rastreamento em um arquivo. | Salvar resultados de rastreamento em um arquivo (SQL Server Profiler) |
| Descreve como salvar resultados de rastreamento em uma tabela. | Salvar resultados de rastreamento em uma tabela (SQL Server Profiler) |
| Descreve como filtrar eventos em um rastreamento. | Filtrar eventos em um rastreamento (SQL Server Profiler) |
| Descreve como exibir informações de filtro. | Exibir informações de filtro (SQL Server Profiler) |
| Descreve como modificar um filtro. | Modificar um filtro (SQL Server Profiler) |
| Descreve como definir um tamanho máximo de ficheiro para um ficheiro de rastreio (SQL Server Profiler). | Defina um tamanho máximo de arquivo para um arquivo de rastreamento (SQL Server Profiler). |
| Descreve como definir um tamanho máximo de tabela para uma tabela de rastreamento. | Definir um tamanho máximo de tabela para uma tabela de rastreamento (SQL Server Profiler) |
| Descreve como iniciar um rastreamento. | Iniciar um rastreamento (SQL Server Profiler) |
| Descreve como iniciar um rastreamento automaticamente depois de se conectar a um servidor. | Iniciar um rastreamento automaticamente depois de se conectar a um servidor (SQL Server Profiler) |
| Descreve como filtrar eventos com base na hora de início do evento. | Filtrar eventos com base na hora de início do evento (SQL Server Profiler) |
| Descreve como filtrar eventos com base na hora de término do evento. | Filtrar eventos com base na hora de término do evento (SQL Server Profiler) |
| Descreve como filtrar IDs de sessão em um rastreamento. | Filtrar IDs de sessão em um rastreamento (SQL Server Profiler) |
| Descreve como pausar um rastreamento. | Pausar um rastreamento (SQL Server Profiler) |
| Descreve como interromper um rastreamento. | Parar um rastreamento (SQL Server Profiler) |
| Descreve como executar um rastreamento depois que ele foi pausado ou interrompido. | Executar um rastreamento depois que ele tiver sido pausado ou interrompido (SQL Server Profiler) |
| Descreve como limpar uma janela de rastreamento. | Limpar uma janela de rastreamento (SQL Server Profiler) |
| Descreve como fechar uma janela de rastreamento. | Fechar uma janela de rastreamento (SQL Server Profiler) |
| Descreve como definir padrões de configuração de rastreamento. | Definir padrões de definição de rastreamento (SQL Server Profiler) |
| Descreve como definir valores padrão de exibição de rastreamento. | Definir padrões de exibição de rastreamento (SQL Server Profiler) |
| Descreve como abrir um arquivo de rastreamento. | Abrir um arquivo de rastreamento (SQL Server Profiler) |
| Descreve como abrir uma tabela de rastreamento. | Abrir uma tabela de rastreamento (SQL Server Profiler) |
| Descreve como reproduzir uma tabela de rastreamento. | Executar novamente uma tabela de rastreamento (SQL Server Profiler) |
| Descreve como reproduzir um arquivo de rastreamento. | Reproduzir um arquivo de rastreamento (SQL Server Profiler) |
| Descreve como reproduzir um único evento de cada vez. | Repetir um único evento de cada vez (SQL Server Profiler) |
| Descreve como reproduzir até um ponto de interrupção. | Repetir para um ponto de interrupção (SQL Server Profiler) |
| Descreve como responder a um cursor. | Executar novamente para um cursor (SQL Server Profiler) |
| Descreve como reproduzir um script Transact-SQL. | Executar novamente um script Transact-SQL (SQL Server Profiler) |
| Descreve como criar um modelo de rastreamento. | Criar um modelo de rastreamento (SQL Server Profiler) |
| Descreve como modificar um modelo de rastreamento. | Modificar modelos de rastreamento |
| Descreve como definir opções de rastreamento global. | Definir opções de rastreamento global (SQL Server Profiler) |
| Descreve como localizar um valor ou coluna de dados durante o rastreamento. | Localizar um valor ou coluna de dados durante o rastreamento (SQL Server Profiler) |
| Descreve como derivar um modelo de um rastreamento em execução. | Derivar um modelo de um rastreamento em execução (SQL Server Profiler) |
| Descreve como derivar um modelo de um arquivo de rastreamento ou tabela de rastreamento. | Derivar um modelo de um arquivo de rastreamento ou tabela de rastreamento (SQL Server Profiler) |
| Descreve como criar um script Transact-SQL para executar um rastreamento. | Criar um script de Transact-SQL para executar um rastreamento (SQL Server Profiler) |
| Descreve como exportar um modelo de rastreamento. | Exportar um modelo de rastreamento (SQL Server Profiler) |
| Descreve como importar um modelo de rastreamento. | Importar um modelo de rastreamento (SQL Server Profiler) |
| Descreve como extrair um script de um rastreamento. | Extrair um script de um rastreamento (SQL Server Profiler) |
| Descreve como correlacionar um rastreamento com dados de log de desempenho do Windows. | Correlacione um rastreamento com dados de log de desempenho do Windows |
| Descreve como organizar colunas exibidas em um rastreamento. | Organizar colunas exibidas em um rastreamento (SQL Server Profiler) |
| Descreve como iniciar o SQL Server Profiler. | Executar o SQL Server Profiler |
| Descreve como salvar rastreamentos e modelos de rastreamento. | Salvar rastreamentos e modelos de rastreamento |
| Descreve como modificar modelos de rastreamento. | Modificar modelos de rastreamento |
| Descreve como correlacionar um rastreamento com dados de log de desempenho do Windows. | Correlacione um rastreamento com dados de log de desempenho do Windows |
| Descreve como exibir e analisar rastreamentos com o SQL Server Profiler. | Exibir e analisar rastreamentos com o SQL Server Profiler |
| Descreve como analisar deadlocks com o SQL Server Profiler. | Analisar bloqueios com o SQL Server Profiler |
| Descreve como analisar consultas com resultados SHOWPLAN no SQL Server Profiler. | Analisar consultas com resultados SHOWPLAN no SQL Server Profiler |
| Descreve como filtrar rastreamentos com o SQL Server Profiler. | Filtrar rastreamentos com o SQL Server Profiler |
| Descreve como usar os recursos de repetição do SQL Server Profiler. | Repetir Traços |
| Lista os artigos de ajuda contextuais do SQL Server Profiler. | Ajuda do SQL Server Profiler F1 |
| Lista os procedimentos armazenados do sistema usados pelo SQL Server Profiler para monitorar o desempenho e a atividade. | Procedimentos armazenados do SQL Server Profiler |
Eventos estendidos vs. SQL Server Profiler
Visão geral de Eventos Estendidos e o SQL Server Profiler são ferramentas para monitorar e solucionar problemas de desempenho do SQL Server. O SQL Server Profiler foi preterido e só deve ser usado com o Analysis Services. Os Eventos Estendidos substituem o SQL Server Profiler e fornecem recursos avançados de solução de problemas não disponíveis em outros lugares. As principais diferenças são observadas aqui para ajudar na migração do SQL Server Profiler para Eventos Estendidos.
Ferramenta Eventos Estendidos
A visão geral de Eventos Estendidos é um sistema de manipulação de eventos leve, altamente escalável e flexível integrado ao SQL Server.
As sessões de Eventos Estendidos normalmente consomem menos recursos do que o Rastreamento SQL e o SQL Server Profiler, tornando-as mais adequadas para ambientes de produção. O Extended Events oferece suporte à captura de eventos que estão disponíveis em versões modernas do SQL.
Por outro lado, os eventos disponíveis no SQL Trace/SQL Server Profiler são limitados aos recursos disponíveis no SQL Server 2008R2 e versões anteriores. Os Eventos Estendidos fornecem recursos de filtragem superiores, uma carga padrão menor e recursos não oferecidos no Profiler, como destinos agregados e na memória e suporte a vários destinos.
Para obter mais informações sobre eventos estendidos, consulte Visão geral de eventos estendidos.
Ferramenta SQL Server Profiler
O SQL Server Profiler é uma interface gráfica do usuário que usa o Rastreamento SQL para capturar a atividade de uma instância do SQL Server ou do Analysis Services.
O SQL Server Profiler pode consumir muitos recursos se configurado incorretamente, afetando o desempenho do servidor, especialmente quando usado em servidores de produção. Ele tem modelos integrados para suportar o rastreamento rápido.
Em resumo, embora o SQL Server Profiler seja uma ferramenta mais antiga que pode ser familiar para muitos usuários, os Eventos Estendidos são uma alternativa moderna que oferece melhor desempenho, informações de eventos mais detalhadas e recursos para solução de problemas e monitoramento de instâncias do SQL Server não disponíveis em outros lugares. Devido às suas vantagens em relação ao Profiler, o Extended Events é recomendado para novos trabalhos de rastreamento e monitoramento.