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 incorrectos quando utilizar utilitários ou tecnologias alterar frequências da CPU
Nesta páginaSumárioMicrosoft SQL Server 2005 utiliza o contador da CPU alta resolução para fornecer capacidades de temporização microsecond. Um microsecond é um millionth de segundo (ou um milésimos de um milisegundos). No entanto, valores de tempo do SQL Server podem estar incorrectos se utilizar tecnologias alterar frequências de CPU. Por exemplo, este problema poderá ocorrer quando utiliza qualquer uma das seguintes tecnologias:
SintomasQuando utiliza a instrução SET STATISTICS tempo para apresentar a execução de servidor, análise e compilação horas, poderá obter valores incorrectos. Por exemplo, poderá notar que o tempo decorrido do tempo de execução do SQL Server é muito mais do que o tempo de CPU. Este problema poderá afectar a precisão da optimização do desempenho. Este problema ocorre quando utiliza uma das tecnologias que estão listadas na secção "Sumário" no servidor. CausaEste problema ocorre porque as frequências da CPU são alteradas quando utiliza estas tecnologias. SQL Server 2005 utiliza o contador da CPU alta resolução para fornecer capacidades de temporização microsecond. Se forem alteradas frequências de CPU para poupar energia e reduzir a saída de calor, durações calculadas podem estar incorrectas. ResoluçãoInformações sobre Service PacksPara resolver este problema, obtenha o service pack mais recente para o SQL Server 2005. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:913089
(http://support.microsoft.com/kb/913089/
)
Como obter o service pack mais recente para o SQL Server 2005 Nota Em SQL Server 2005 Service Pack 3 e service packs posteriores, não é utilizado o carimbo de data / hora do processador. Estas versões do SQL Server 2005 utilizam um temporizador mais fiável que tenha uma precisão de máxima de 1 milisegundos.Ponto Da Situação Este problema foi corrigido pela primeira vez no SQL Server 2005 Service Pack 3. Como contornarPontos de dados conhecidos e estável para efectuar a optimização do desempenho preciso requer o SQL Server 2005. Se ajustes de frequência da CPU dinâmicas estiverem activadas no computador, poderá desactivá-los para que as CPU mantém uma velocidade de frequência constante antes de começar a monitorizar e optimizar o desempenho do SQL Server. Para o fazer, utilize os seguintes métodos. Configurar o esquema de energia no computador para forçar as CPU permaneçam com frequência máximaPara o fazer, siga estes passos:
Se não conseguir reiniciar o computador, Active a afinidade do processador do SQL Server impedir que threads de trabalho do SQL Server mover entre CPU. Quando o fizer, não é necessário reiniciar o computador, mesmo se um divergence entre valores de frequência da CPU ocorre. Para activar a afinidade do processador do SQL Server para todas as CPU no servidor, tem de utilizar uma máscara de diferente, dependendo do número de processadores lógicos estão no servidor. A tabela seguinte lista cenários de exemplo. Reduzir esta tabela
Utilizar utilitários de outros fabricantes e os controladores para sincronizar frequências de CPU e contadores de relógio da CPUEm ocasiões raras, um sistema pode requerer uma actualização do fabricante para corrigir problemas de frequência da CPU. É um procedimento recomendado para verificar o sistema para as actualizações de BIOS microcódigo e firmware mais recentes se suspeitar que o sistema pode ter um problema.Mais InformaçãoMicrosoft SQL Server 2000 e versões anteriores do SQL Server utilizam os mecanismos de temporização do Windows. Os mecanismos de temporização utilizam valores de precisão milisegundos. Normalmente, esta precisão é 10 a 15 ms. no entanto, a precisão pode ser tão grande como ms 55. Consultas do SQL Server frequentemente concluída dentro do dígito milisegundos ou tempo microsecond abrange. Esta precisão requer um temporizador de alta resolução. Por este motivo, estas versões do relatório do SQL Server a duração de algumas consultas como ms. 0 por conseguinte, é difícil monitorizar o desempenho e optimizar o desempenho do SQL Server em versões anteriores do SQL Server. SQL Server 2005 melhora a exactidão utilizando o contador da CPU alta resolução para fornecer capacidades de temporização microsecond. Quando utiliza as tecnologias que estão listadas na secção "Sumário", os valores de tempo comunicados podem estar incorrectos. Este problema poderá afectar os objectos e as funcionalidades seguintes:
O texto da mensagem de erro semelhante uma das seguintes mensagens de erro: Mensagem de erro 1 O contador de carimbo de data / hora da CPU no programador id 2 não está sincronizado com outra CPU. Mensagem de erro 2 Frequência de carimbo de data / tempo da CPU foi alterado de 191469 para 1794177 ticks por milissegundo. Será utilizada a frequência de nova SQL Server utiliza a instrução RDTSC (Real Time carimbo de data / contador) para obter a contagem de tiques 64 bits da CPU. Pode dividir este valor, a frequência da CPU a converter o valor em milisegundos. Variações de tempo podem ocorrer quando as alterações de frequência da CPU ou drift ocorre. CPU passoCPU passo é definida como uma alteração deliberada na frequência da CPU. CPU passo também pode ser conhecida como tecnologia SpeedStep da Intel ou AMD PowerNow! tecnologia. Quando CPU passo ocorre, a velocidade da CPU pode aumentar ou diminuir em incrementos mais pequeno 50 MHz para poupar energia e reduzir a saída de calor. CPU que estão ao mesmo nó de acesso (NUMA) de memória não-uniform não ajustar independentemente frequências.A tabela seguinte ilustra como alterações de nível da CPU poderão afectar cálculos de temporização. Reduzir esta tabela
Neste exemplo, os cálculos de temporização seguintes ocorrem quando utiliza um valor de frequência de 200 ou 100:
Se for utilizado este cálculo de um RPC: concluída rastreio evento, a duração e a hora de fim colunas de dados são incorrectamente comunicadas. O RPC: concluída evento captura a hora do relógio parede inicial e contagem de escala da CPU. Para obter maior tempo de resolução do Windows fornece nas colunas de dados SQL Server 2005, a duração e hora de fim no SQL Server rastreio são calculados utilizando a contagem de tiques CPU decorrida. A coluna hora de fim é calculada adicionando a coluna duração para a coluna hora de início . Neste exemplo, a coluna hora de fim é calculada adicionando incorrectamente ou ms 2.5 ms 5 à hora de início. DriftDrift é um divergence nos valores de relógio da CPU. Sistemas que tenham várias CPU podem produzir valores de relógio da CPU diferentes para o mesmo ponto no tempo. Embora não seja comum, CPUs poderão ocorrer separação de relógio ao longo do tempo.O exemplo seguinte demonstra como drift alterações podem afectar o resultado da coluna de dados de duração num rastreio do SQL Server. O exemplo assume que a frequência da CPU permanece fixa em 200 ticks por milissegundo. A tabela seguinte ilustra os eventos neste cenário. Reduzir esta tabela
No entanto, a execução de comandos foi interrompida em algum momento e SQL Server enviadas a execução de comandos para a fila pendente. Quando o SQL Server enviado o thread de trabalho do SQL Server que serve este processo para a fila runnable novamente, o Windows distribuído o thread para executar a segunda CPU (2 de CPU). O thread de trabalho do SQL Server concluída em execução no 2 da CPU. Devido a drift da CPU, o valor de escala de fim que foi capturado de CPU 2 era 1900 em vez de 900. Pode evitar este comportamento se activar a afinidade do processador do SQL Server. Os cálculos de temporização seguintes são utilizados neste exemplo:
Mensagens de aviso drift são adicionadas ao SQL Server 2005 para indicar que saídas de desempenho que são mencionadas anteriormente podem não ser fiáveis. Em algumas situações não estão destapadas, SQL Server 2005 SP2 poderá reportar mensagens de aviso sobre o seguinte:
Pode utilizar o sinalizador de rastreio 8033 (?T8033) para repor 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 comunicam drift mensagens de aviso. Se estiver a executar a versão original do SQL Server 2005 ou SQL Server 2005 SP1 sem problemas, normalmente, pode ignorar as mensagens. Por que razão a instrução WAITFOR DELAY funciona correctamente? Quanto processos do sistema periódica?Mecanismos de limite de tempo não são afectados por predefinição alta resolução. SQL Server não utiliza o temporizador de alta resolução para actividades baseada no temporizador. Algumas actividades de limite de tempo baseiam-se o temporizador de resolução reduzida que utiliza a função ObterContagemMarcaEscala . Estas actividades de limite de tempo incluem tempo limite de bloqueio, a instrução WAITFOR DELAY e detecção de impasse.Para obter mais informações, clique números de artigo que se seguem para visualizar 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 ocorrer drift de contador de carimbo de data / hora se o servidor utiliza processadores AMD Opteron de duplo núcleo ou processadores AMD Opteron multiprocessadores 895980
(http://support.microsoft.com/kb/895980/
)
Programas que utilizam a função QueryPerformanceCounter poderão funcionar lentamente no Windows Server 2003 e no Windows XP Os produtos de outros fabricantes explicado neste artigo são fabricados por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, expressa ou implícita, sobre o desempenho ou fiabilidade destes 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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes 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 de Artigos
|






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


Voltar ao topo