O SQL Server Profiler é uma interface para criar e gerenciar rastreamentos, além de analisar e reproduzir resultados de rastreamento. Os eventos são salvos em um arquivo de rastreamento que posteriormente pode ser analisado ou utilizado para reproduzir uma série específica de etapas ao diagnosticar um problema.
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. No entanto, há suporte para cargas de trabalho do Analysis Services.
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.
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.
O Microsoft SQL Server Profiler é uma interface gráfica do usuário que o Rastreamento do SQL usa para monitorar uma instância do Mecanismo de Banco de Dados ou do Analysis Services. Você pode capturar e salvar dados sobre cada evento em um arquivo ou tabela para análise posterior. Por exemplo, é possível monitorar um ambiente de produção para observar quais procedimentos armazenados afetam o desempenho devido à lentidão na execução. O SQL Server Profiler é usado para atividades como:
Percorrer consultas de problemas para localizar a causa do problema.
Localizar e diagnosticar consultas de execução lenta.
Capturar a série de instruções Transact-SQL que resultam em um problema. Em seguida, o rastreamento salvo pode replicar o problema em um servidor de teste onde o problema pode ser diagnosticado.
Monitorar o desempenho do SQL Server para ajustar cargas de trabalho. Para obter mais informações sobre como ajustar o design físico do banco de dados para cargas de trabalho do banco de dados, consulte Database Engine Tuning Advisor.
Correlacionar contadores de desempenho para diagnosticar problemas.
O SQL Server Profiler também oferece suporte à execução de auditoria das ações executadas em instâncias do SQL Server. As auditorias registram ações relacionadas à segurança para análise posterior por um administrador de segurança.
Conceitos do SQL Server Profiler
Para usar o SQL Server Profiler, você precisa compreender os termos que descrevem o modo de funcionamento da ferramenta.
Observação
Entendendo como o Rastreamento do SQL ajuda a trabalhar com o SQL Server Profiler. Para obter mais informações, consulte SQL Trace.
Evento
Um evento é uma ação gerada dentro de uma instância do Mecanismo de Banco de Dados do SQL Server. São exemplos:
Conexões, falhas e desconexões de logon.
Instruções do Transact-SQL SELECT, INSERT, UPDATE e DELETE.
Status de lote de chamadas de procedimento remoto (RPC).
O início ou término de um procedimento armazenado.
O início ou término de instruções dentro de 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 rastreamento exibe todos os dados gerados por um evento em uma única linha. Esta linha é cruzada por colunas de dados que descrevem o evento em detalhes.
EventClass
Uma classe de evento é um tipo de evento que pode ser rastreado. A classe de evento contém todos os dados que um evento pode informar. Veja os seguintes exemplos de classes de evento:
SQL:BatchCompleted
Audit Login
Audit Logout
Lock: Acquired
Lock: Released
EventCategory
Uma categoria de evento define o modo pelo qual os eventos são agrupados no SQL Server Profiler. Por exemplo, todas as classes de eventos de bloqueio são agrupadas dentro da categoria de evento Locks. Categorias de evento, contudo, só existem dentro do SQL Server Profiler. Este termo não reflete o modo como os eventos do Mecanismo são agrupados.
DataColumn
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 pode ser coletado, 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 da página ou linha bloqueada, mas a coluna de dados Integer Data não contém nenhum valor, pois ela 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 contém as classes de evento que se quer monitorar com o SQL Server Profiler. Por exemplo, você pode criar um modelo que especifique eventos, colunas de dados e filtros. Um modelo não é executado, mas salvo como um arquivo de extensão .tdf. Uma vez salvo, o modelo controla os dados que são capturados quando um rastreamento que o tem por base é ativado.
Trace
Um rastreamento captura dados segundo classes de evento, colunas de dados e filtros selecionados. Por exemplo, você pode criar um rastreamento para monitorar erros de exceção. Para fazer isso, selecione a classe de evento Exception e as colunas de dados Error, State e Severity. É preciso coletar os dados dessas três colunas para que os dados produzidos pelo rastreamento façam sentido. Em seguida, você pode executar um rastreamento configurado dessa forma e coletar dados sobre todo evento Exception no servidor. O rastreamento pode ser salvo ou utilizado para análise imediata. Os rastreamentos podem ser reproduzidos posteriormente, embora certos eventos, como Exception, nunca sejam reproduzidos. Você também pode salvar o rastreamento como um modelo, para criar rastreamentos semelhantes.
O SQL Server dispõe de duas formas de rastrear uma instância de SQL Server: rastreando com SQL Server Profiler ou usando os procedimentos armazenados do sistema.
Filtrar
Ao criar um rastreamento ou modelo, você pode definir critérios para filtrar os dados coletados pelo evento. Para impedir que os rastreamentos se tornem grandes demais, você pode filtrá-los de modo que apenas um subconjunto dos dados do evento sejam coletados. Por exemplo, limitar os nomes de usuário do Windows no rastreamento a usuários específicos reduz os dados de saída.
Sem um filtro definido, a saída do rastreamento retorna 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 reproduzir rastreamentos.
Ferramenta Eventos estendidos e SQL Server Profiler
A ferramenta Eventos estendidos e o SQL Server Profiler se destinam a monitorar e solucionar problemas de desempenho do SQL Server. O SQL Server Profiler foi preterido e só deve ser usado com o Analysis Services. A ferramenta Eventos estendidos substitui o SQL Server Profiler e fornece recursos avançados de solução de problemas não disponíveis em outros lugares. As principais diferenças são indicadas aqui para ajudar na migração do SQL Server Profiler para a ferramenta Eventos estendidos.
Ferramentas Eventos estendidos
A ferramenta Eventos estendidos é um sistema de manipulação de eventos leve, altamente escalonável e flexível integrado ao SQL Server.
As sessões da ferramenta Eventos estendidos normalmente consomem menos recursos do que o Rastreamento do SQL e o SQL Server Profiler, tornando-as mais adequadas para ambientes de produção. A ferramenta Eventos estendidos permite à captura de eventos que estão disponíveis em versões modernas do SQL.
Por outro lado, os eventos disponíveis no Rastreamento do SQL/SQL Server Profiler são limitados aos recursos disponíveis no SQL Server 2008R2 e versões anteriores.
A ferramenta Eventos estendidos fornece recursos de filtragem superiores, uma carga padrão menor e recursos não oferecidos no Profiler, como destinos na memória e agregados e suporte a vários destinos.
Para obter mais informações sobre a ferramenta Eventos estendidos, consulte Eventos estendidos.
Ferramenta SQL Server Profiler
O SQL Server Profiler é uma interface gráfica do usuário que usa o Rastreamento do 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 for configurado incorretamente, o que afeta o desempenho do servidor, especialmente se usado em servidores de produção. Ele conta com modelos integrados para permitir 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 solucionar problemas e monitorar instâncias do SQL Server não disponíveis em outros lugares. Devido às suas vantagens sobre o Profiler, a ferramenta Eventos estendidos é recomendada para novos trabalhos de rastreamento e monitoramento.
Administrar uma infraestrutura de banco de dados do SQL Server para bancos de dados relacionais de nuvem, locais e híbridos usando as ofertas de banco de dados relacional do Microsoft PaaS.