ID do artigo: 931279 - Última revisão: terça-feira, 16 de dezembro de 2008 - Revisão: 7.0 Valores de tempo do SQL Server podem estar incorretos ao usar utilitários ou tecnologias alterar freqüências de CPU
Nesta páginaSumárioMicrosoft SQL Server 2005 usa o contador de CPU alta resolução para fornecer recursos de tempo microssegundo. Um microssegundo é um millionth de segundo (ou milésimos de uma de um milissegundo). No entanto, valores de tempo do SQL Server podem estar incorretos se você usar tecnologias alterar freqüências de CPU. Por exemplo, esse problema pode ocorrer quando você usar qualquer uma das seguintes tecnologias:
SintomasQuando você usa a instrução SET STATISTICS TIME para exibir a execução do servidor, análise e tempo de compilação, você pode obter valores incorretos. Por exemplo, você pode notar que o tempo decorrido do tempo de execução do SQL Server é muito mais do que o tempo de CPU. Esse problema pode afetar a precisão do ajuste de desempenho. Esse problema ocorre quando usar uma das tecnologias que estão listadas na seção "Resumo" no servidor. CausaEsse problema ocorre porque as freqüências de CPU são alteradas quando você usa essas tecnologias. SQL Server 2005 usa o contador de CPU alta resolução para fornecer recursos de tempo microssegundo. Se as freqüências de CPU são alteradas para economizar energia e reduzir a saída de calor, durações calculadas podem estar incorretas. ResoluçãoInformações sobre o service packPara resolver esse problema, obtenha o service pack mais recente para o SQL Server 2005. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:913089
(http://support.microsoft.com/kb/913089/
)
Como obter o service pack mais recente para o SQL Server 2005 Observação No SQL Server 2005 Service Pack 3 e em service packs mais recentes, não é usado o carimbo de data / hora do processador. Essas versões do SQL Server 2005 usam um timer mais confiável que tenha uma precisão máxima de 1 milissegundos.Situação Esse problema foi corrigido primeiro no SQL Server 2005 Service Pack 3. Como ContornarSQL Server 2005 requer pontos de dados conhecidos e estável para executar o ajuste de desempenho preciso. Se ajustes de freqüência de CPU dinâmicos estiverem ativados no computador, você pode desativá-los para que as CPUs mantêm uma taxa de freqüência constante antes de começar a monitorar e ajustar o desempenho do SQL Server. Para fazer isso, use os seguintes métodos. Configurar o esquema de energia no computador para forçar as CPUs para permanecer na freqüência máximaPara fazer isso, execute as seguintes etapas:
Se você não pode reiniciar o computador, ative afinidade do processador do SQL Server impedir a movendo entre CPUs de threads de trabalho do SQL Server. Quando você fizer isso, não é necessário reiniciar o computador mesmo se ocorre uma divergência entre valores de freqüência de CPU. Para habilitar o SQL Server afinidade do processador para todas as CPUs no servidor, você deve usar uma máscara de diferente, dependendo do número de processadores lógicos estão no servidor. A tabela a seguir lista exemplos de situações. Recolher esta tabela
Usar os utilitários de terceiros e drivers para sincronizar as freqüências de CPU e contadores de relógio da CPUEm raras ocasiões, um sistema pode exigir uma atualização do fabricante para corrigir problemas de freqüência de CPU. Ele é uma prática recomendada para verificar o sistema para as atualizações de BIOS, microcódigo e firmware mais recentes se você suspeitar que o sistema pode ter um problema.Mais InformaçõesMicrosoft SQL Server 2000 e versões anteriores do SQL Server usam os mecanismos de tempo do Windows. Os mecanismos de tempo usam valores de precisão de milissegundos. Normalmente, essa precisão é 10 a 15 ms. Contudo, a precisão pode ser tão grande como ms 55. Consultas do SQL Server com freqüência concluída dentro de dígito milissegundos ou microssegundo tempo abrange. Essa precisão requer um timer de alta resolução. Portanto, essas versões do relatório do SQL Server a duração de algumas consultas como ms. 0 assim, é difícil monitorar o desempenho e ajustar o desempenho do SQL Server em versões anteriores do SQL Server. SQL Server 2005 melhora a precisão usando o contador de CPU alta resolução para fornecer recursos de tempo microssegundo. Quando você usa as tecnologias que estão listadas na seção "Resumo", os valores de tempo relatados podem ser incorretos. Esse problema pode afetar os seguintes recursos e objetos:
O texto da mensagem de erro semelhante a uma das seguintes mensagens de erro: Mensagem de erro 1 O contador de carimbo de data / hora da CPU no Agendador id 2 não está sincronizado com outros CPUs. Mensagem de erro 2 Freqüência de carimbo de tempo de CPU foi alterado de 191469 para 1794177 tiques por milissegundos. A nova freqüência será usada SQL Server usa a instrução delta entre tempo real carimbo contador (RDTSC) para adquirir a contagem de escala de CPU de 64 bits. Você pode dividir esse valor, a freqüência de CPU para converter o valor em valores de milissegundos. Variações de tempo podem ocorrer quando as alterações de freqüência de CPU ou descompassos ocorre. CPU steppingCPU stepping é definido como uma alteração deliberada na freqüência de CPU. CPU stepping também pode ser conhecido como tecnologia Intel SpeedStep ou AMD PowerNow! tecnologia. Quando CPU stepping ocorre, a velocidade da CPU pode aumentar ou diminuir em incrementos de até 50 MHz para economizar energia e reduzir a saída de calor. CPUs que estão dentro do mesmo nó de acesso (NUMA) de memória não-uniforme não ajustam freqüências independentemente.A tabela a seguir ilustra como CPU stepping alterações podem afetar os cálculos de tempo. Recolher esta tabela
Neste exemplo, os cálculos de tempo a seguir ocorrem quando você usa um valor de freqüência de 100 ou 200:
Se esse cálculo é usado em um RPC: concluído colunas de dados de evento, a duração e a Hora final rastreamento são relatadas incorretamente. O RPC: concluído evento captura o tempo de relógio parede inicial e contagem de escala de CPU. Para obter tempo de resolução mais alto que o Windows fornece nas colunas de dados SQL Server 2005, a duração e a hora de término em um SQL Server rastreamento são calculados usando-se a contagem de tiques CPU decorrida. A coluna de hora de término é calculada adicionando a coluna de duração para a coluna hora de início . Neste exemplo, a coluna de hora de término é calculada adicionando incorretamente ou ms 2.5 ms 5 para a hora inicial. FlutuaçãoFlutuação é uma divergência em valores de relógio da CPU. Sistemas que possuem várias CPUs podem produzir valores diferentes de relógio da CPU para o mesmo ponto no tempo. Embora não seja comum, CPUs podem enfrentar separação de relógio longo do tempo.O exemplo a seguir demonstra como alterações de flutuação podem afetar o resultado da duração da coluna de dados em um rastreamento do SQL Server. O exemplo supõe que a freqüência de CPU permanece constante em 200 tiques por milissegundos. A tabela a seguir ilustra os eventos nessa situação. Recolher esta tabela
No entanto, a execução em lotes foi interrompida em algum momento, e SQL Server enviadas a execução de lote para a fila pendente. Quando o SQL Server enviado o thread de trabalho do SQL Server que serviços este lote para a fila executável novamente, o Windows expedidos o segmento para executar em segunda CPU (CPU 2). O thread de trabalho do SQL Server concluída em execução no CPU 2. Devido a flutuação de CPU, o valor de escala end que foi capturado de CPU 2 foi 1900, em vez de 900. Você pode evitar esse comportamento se você habilitar afinidade de processador do SQL Server. Os cálculos de tempo a seguir são usados neste exemplo:
Mensagens de aviso de flutuação são adicionadas para o SQL Server 2005 para indicar que as saídas de desempenho que são mencionadas anteriormente podem não ser confiáveis. Em algumas situações não reveladas, SQL Server 2005 SP2 pode relatar mensagens de aviso sobre o seguinte:
Você pode usar o sinalizador de rastreamento 8033 (?T8033) para retornar para o comportamento de relatório na versão original do SQL Server 2005 e no SQL Server 2005 SP1. A versão original do SQL Server 2005 e SQL Server 2005 SP1 não relatar mensagens de aviso de flutuação. Se você estiver executando a versão original do SQL Server 2005 ou SQL Server 2005 SP1 sem problemas, você pode ignorar as mensagens normalmente. Por que a instrução WAITFOR DELAY funciona corretamente? E sobre processos do sistema periódicas?Mecanismos de tempo limite não são afetados pelo projeto de alta resolução. SQL Server não usa o timer de alta resolução para atividades baseadas no timer. Algumas atividades de tempo limite são baseadas no timer de resolução menor que usa a função ObterContagemMarcaEscala . Essas atividades de tempo limite incluem tempo limite de bloqueio, a instrução WAITFOR DELAY e detecção de deadlock.Para obter mais informações, clique nos números abaixo para ler os artigos na Base de dados de Conhecimento da Microsoft: 938448
(http://support.microsoft.com/kb/938448/
)
Um servidor baseado no Windows Server 2003 pode enfrentar flutuação de contador de carimbo de data / hora se o servidor usa dual-core AMD Opteron processadores ou processadores AMD Opteron multiprocessador 895980
(http://support.microsoft.com/kb/895980/
)
Programas que usam a função de QueryPerformanceCounter podem diminuir seu desempenho no Windows Server 2003 e no Windows XP Os produtos de terceiros mencionados neste artigo são fabricados por empresas que são independentes da Microsoft. Microsoft não oferece garantia, implícita ou não, sobre o desempenho ou confiabilidade desses produtos.A informação contida neste artigo aplica-se a:
Tradução automáticaIMPORTANTE: 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: 931279
(http://support.microsoft.com/kb/931279/en-us/
)
| Outros Recursos Outros Sites de Suporte
ComunidadesObtenha Ajuda AgoraTraduções deste artigo
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


Voltar para o início