INF: Diferenças em E/S STATISTICS, SQL Profiler e Sysprocesses contadores de E/S

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 314648
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Sumário
Existem diversos lugares diferentes, no qual SQL Server relatórios diferentes de entrada/saída (E/S) de informações relacionadas:
  • A coluna physical_io da tabela de sistema sysprocesses .
  • Mensagens informativas retornadas em um lote quando a opção STATISTICS E/S está habilitada.
  • A coluna leituras ou gravações de eventos relevantes em um SQL rastreamento do Profiler.
Cada um desses contadores informações um pouco diferente do relatório. Dependendo de que são deseja medir, um determinado contador pode ser mais apropriado para uso que o outro. Este artigo descreve o que cada contador mede para que você possa usar as informações adequadamente.
Mais Informações
Cada conexão do SQL Server tem uma estrutura de status do processo associado (PSS) que mantém informações de estado específicos da conexão. Cada processo de servidor exclusivo ID (SPID) na tabela de sistema sysprocesses representa um PSS diferentes, e as informações da tabela virtual sysprocesses são uma "exibição" para essas informações de status.

SQL Server distingue entre E/S física (isto é, o número de vezes que o SQL Server realmente faz um sistema Win32 chamada para ler ou gravar uma página) e uma E/S lógico (qualquer hora do SQL Server solicita acesso a uma página). As nível mais alto rotinas de processador de consulta no SQL Server usam um mecanismo para solicitar acesso lógico para uma página. Essa rotina procura para ver que se a página já está no cache e em caso afirmativo, fornece acesso a esse buffer; se a página não estiver no cache, a rotina é responsável por solicitar uma E/S física e aguardando E/S para concluir antes de fornecer acesso.

Para cada conexão, o SQL Server mantém grava contadores para acompanhar o número de leituras físicas e física. Sempre solicitações do SQL Server um física ler ou gravar como parte do trabalho para a conexão, o contador de E/S física apropriada dentro do PSS serviço incrementos. A coluna physical_io de sysprocesses relata a soma desses dois contadores de E/S físicas.

Se E/S STATISTICS estiver habilitada para uma conexão, o SQL Server aloca uma matriz durante a execução da consulta para controlar informações de E/S em uma base por tabela. Como o SQL Server processa a consulta, ele registra cada solicitação lógica para uma página na entrada da tabela apropriado nessa matriz, juntamente com se solicitar que lógico E/S resultou em uma E/S física. SQL Server retorna as informações, no final da consulta, na mensagem de erro 3615:
Tabela ' dos autores. Verificar a contagem 1, 2 de leituras lógicas, leituras físicas 0, read-ahead lê 0.
Tabela 'títulos'. Verifica a contagem 1, 2 de leituras lógicas, físicas leituras 2, read-ahead leituras 0.
SQL Profiler reporta o número de leituras lógicas e físicas gravações executadas no processamento de instrução ou em lotes. Observe que a documentação do Microsoft SQL Server 7.0 sobre esses contadores contém informações contraditórias.

Comparando os números relatados pelo SQL Profiler com os da E/S STATISTICS, é importante observar que E/s físicas e lógicas podem ser contraídos fazendo o trabalho que está relacionado à sua consulta ou em lotes, mas não específicas para a própria consulta. Por exemplo:
  • Durante a compilação e a otimização, há leituras das tabelas de sistema para obter informações sobre esquema da tabela.

  • Talvez haja acesso a tabelas do sistema para verificar permissões em objetos em tempo de execução.

  • Se você executa um procedimento armazenado e SQL Server não o encontrar no cache, o SQL Server podem executar leituras para carregar o texto do procedimento de tabela do sistema syscomments .

  • Se sua consulta causa um erro, E/s ocorrerá como SQL Server lê o texto de erro da tabela de sistema sysmessages .

  • Pode haver E/s em tabelas de trabalho não relatadas no STATISTICS E/S e assim por diante.
Como resultado, em geral, leituras lógicas relatado pelo SQL Profiler não coincidem com a soma dessas relatado pelo STATISTICS E/S. No entanto, o número informado para leituras no SQL Profiler sempre deve ser igual ou maior que os valores de E/S STATISTICS.

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 314648 - Última Revisão: 12/07/2015 08:24:06 - Revisão: 3.2

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 7.0 Standard Edition

  • kbnosurvey kbarchive kbmt kbinfo KB314648 KbMtpt
Comentários