Select the product you need help with
Diagnóstico do SQL Server 2000 SP4 e em versões posteriores ajuda a detectar operações de E/s interrompidas e bloqueadasArtigo: 897284 - Ver produtos para os quais este artigo se aplica. Nesta páginaSumárioUm sistema de gestão de base de dados (DBMS), como o SQL Server, depende da actualização do ficheiro de entrada e saída (E/s) operações. Qualquer um dos seguintes itens pode criar bloqueado ou retardada problemas de E/s. Estes problemas rapidamente podem ter um efeito adverso na capacidade de resposta do SQL Server e o desempenho:
Mensagem informativa explicaçãoReduzir esta tabela
http://technet.microsoft.com/en-us/library/cc966500.aspx
(http://technet.microsoft.com/en-us/library/cc966500.aspx)
Mais InformaçãoE/s bloqueada e E/s bloqueadaE/s bloqueadaE/s bloqueada é definido como um pedido de E/s não for concluída. Frequentemente, E/s bloqueada é um IRP bloqueada. Para resolver uma condição de E/s presa, normalmente deve reiniciar o computador ou executar uma acção semelhante. Uma condição de E/s presa normalmente indica um dos seguintes procedimentos:
E/s bloqueadaE/s bloqueada é definido como um pedido de E/s for concluída. No entanto, a operação de E/s demora demasiado tempo a concluir. Comportamento de E/s bloqueado normalmente ocorre devido a uma das seguintes razões:
SQL Server retardada E/s e bloqueados E/s gravação e relatóriosSuporte do Microsoft SQL Server processa muitos casos cada ano com problemas de E/s bloqueados ou interrompidos. Conforme descrito mais tarde, estes problemas de E/s aparecem de formas diferentes. Problemas de E/s são alguns dos problemas mais difícil para diagnosticar e depurar. Problemas de E/s requerem tempo significativo e recursos para depuração da Microsoft e do cliente. As funcionalidades de relatório que tenham sido adicionadas para SQL Server 2000 SP4 e em versões posteriores significativamente reduzir o tempo necessário para identificar um problema de E/s.Os relatórios e a gravação de pedidos de E/s destinam-se numa base por ficheiro. A detecção e os relatórios de interrompida e se os pedidos de E/s são duas acções separadas. GravaçãoExistem duas localizações no SQL Server onde ocorrem acção registo. A primeira localização na qual gravação ocorre, é onde, na realidade, conclui a operação de E/s. Se um pedido de E/s demora mais de 15 segundos para concluir, ocorre uma operação de registo. A segunda localização na qual gravação ocorre, é quando executa o escritor lento. Quando executa o escritor lento, o escritor lento verifica todos os dados pendentes e o registo pendente pedidos de E/s de ficheiros. Se tiver sido excedido o limite de 15 segundos, ocorre uma operação de registo.Fornecer informações sobreRelatório ocorre em intervalos são 5 minutos ou mais, separadamente. Relatório ocorre quando é efectuado o seguinte pedido de E/s no ficheiro. Se Ocorreu uma acção de registo e 5 minutos ou mais decorreram desde o último relatório ocorreu, a mensagem informativa mencionada na secção "Sumário" é gravada o registo de erros do SQL Server.O limite de 15 segundos não é ajustável. No entanto, pode desactivar a detecção de E/s interrompida e bloqueada utilizando o sinalizador de rastreamento 830 mas a Microsoft não recomenda que este procedimento é efectuado. Para desactivar a detecção quando o SQL Server é iniciado, utilize-parâmetro de arranque T830. Utilizar-T830 parâmetro de arranque irá desactivar a detecção sempre do SQL Server é iniciado. Para desactivar a detecção para uma instância do SQL Server que está actualmente em execução, utilize a seguinte instrução: DBCC traceoff (830,-1) Esta definição só é eficaz para a duração do processo de SQL Server. Nota Um pedido de E/s que fica retardado ou bloqueado é comunicado apenas uma vez. Se a mensagem indicar que são retardados 10 pedidos de E/s, esses 10 relatórios não ocorrerá novamente. Se a mensagem seguinte relatórios que são retardados 15 pedidos de E/s, isso significa que tem ficar retardados 15 novos pedidos de E/s. O pacote de pedido de E/s (IRP) de rastreioSQL Server utiliza as chamadas de API do Microsoft Windows padrão para ler e escrever dados. Por exemplo, SQL Server utiliza as seguintes funções:
http://support.microsoft.com Nota Depuração de kernel pode ser um processo invasive porque depuração de kernel pode requerer a parar o sistema para concluir as acções de depuração. Recomendamos que consulte se existem actualizações disponíveis para os seguintes itens:
(http://support.microsoft.com/)
Desempenho do sistema e consulta planear acçõesGlobal de desempenho do sistema pode desempenhar uma função chave no processamento de E/s. O correcto funcionamento geral do sistema deve tomar em consideração quando está a investigar relatórios de operações de E/s interrompidas ou bloqueadas. Cargas excessivas podem levar o sistema global a ser lenta. Isto inclui o processamento de E/s. O comportamento do sistema quando que ocorre o problema pode ser um factor chave determinar a causa do problema. Por exemplo, se ficar elevada utilização da CPU ou se permanecer elevada utilização da CPU quando o problema ocorrer, este comportamento poderá indicar que um processo no sistema está a utilizar da CPU muito que outros processos são seja afectados negativamente.Contadores de desempenhoPara monitorizar o desempenho de E/s, examine os seguintes contadores de desempenho para informações específicas de caminho de E/s:
Tenha cuidado com os contadores de desempenho porque o SQL Server tira o máximo partido das capacidades de E/s assíncronas que premir o comprimento da fila de disco muito. Por conseguinte, mais comprimentos da fila de disco apenas não indicam um problema. No Monitor de sistema do Windows, pode rever os contadores de "disco físico: bytes de disco/seg"para cada disco afectado e comparar a taxa de actividade contra os contadores"processo: E/S dados bytes/seg"e ? processo: E/S outro bytes/seg ? para cada processo identificar se um conjunto específico de processos está a gerar excessiva de E/s pedidos. Existem várias outras E/s relacionadas contadores disponíveis no processo de objecto que revela informações mais específicas. Se determinar que uma instância do SQL Server é responsável por carga excessiva de E/S no servidor, reveja a secção seguinte ? índices e Parallelism ?. Para informações detalhadas sobre como detectar e resolver congestionamentos de E/s, reveja a secção ? gargalos de E/s ? a documentação técnica da MSDN Troubleshooting Performance Problems in SQL Server 2008
(http://msdn.microsoft.com/en-us/library/dd672789.aspx)
de Troubleshooting Performance Problems in SQL Server 2005
(http://technet.microsoft.com/en-us/library/cc966540.aspx)
. Índices e parallelismFrequentemente, rajadas de E/s ocorrem porque falta um índice. Este comportamento pode forçar o caminho de E/s muito. Uma fase com índice Activar assistente (ITW) poderá ajudar a resolver pressão de E/s no sistema. Se uma consulta beneficia de um índice em vez de uma pesquisa da tabela ou talvez ainda utiliza uma sequência de ordenação ou hash, o sistema poderá ter as seguintes vantagens:
Exemplos práticos do suporte da Microsoft SQL ServerOs exemplos seguintes foram processados pelo suporte da Microsoft SQL Server e plataformas de escalonamento de suporte. Estes exemplos destinam-se para fornecer uma moldura de referência e um conjunto ajuda as expectativas sobre retardada e bloqueados situações de E/s e sobre como um sistema poderão ser afectado ou poderá responder. Não existe qualquer hardware específico ou conjunto de controladores que constitui qualquer risco específico ou maior risco sobre outra. Todos os sistemas são iguais nesta área.Exemplo 1: Uma registo de escrita que é bloqueada durante 45 segundosUma tentativa de escrita do ficheiro de registo do SQL Server periodicamente passou a ser bloqueada durante aproximadamente 45 segundos. A escrita de registo não era concluir atempadamente. Este comportamento é criado uma condição de bloqueio que conduziu a tempos limite de cliente de 30 segundos.A aplicação submetido uma consolidação para o SQL Server e a consolidação ficou bloqueada como um registo de escrita pendentes. Este comportamento provocado a consulta para continuar a manter bloqueios e para bloquear pedidos de outros clientes. Em seguida, outros clientes iniciado limite de tempo. Isto composta o problema uma vez que a aplicação não foi concebida para recuperar transacções abertas quando ocorreu um tempo limite da consulta. Isto criado centenas de transacções abertas que foram mantendo bloqueios. Por conseguinte, uma situação de bloqueio grave ocorreu. Para obter mais informações sobre transacções, processamento e bloquear, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base: 224453 A aplicação assistido um Web site utilizando o agrupamento de ligações. Tal como mais ligações ficaram bloqueadas, o Web site criado mais ligações. Estas ligações ficaram bloqueadas e o ciclo de continuação.
(http://support.microsoft.com/kb/224453/
)
Noções sobre e resolver problemas de bloqueio de 2000 ou SQL Server 7.0 Depois de aproximadamente 45 segundos, a escrita de registo concluída. No entanto, quando, centenas de ligações foram cópias. Os problemas de bloqueios resultaram em vários minutos de tempo de recuperação para o SQL Server e a aplicação. Quando combinado com os problemas de aplicação, a condição de E/s bloqueada teve um efeito negativo muito no sistema. ResoluçãoO problema foi registado para um pedido de E/s preso num controlador de adaptador de barramento anfitrião (HBA). O computador tinha várias placas de HBA com suporte de activação pós-falha. Quando um HBA foi atrás ou não estava a comunicar com rede de área o armazenamento (SAN), o valor de limite de tempo da "tentativa antes da activação pós-falha" foi configurado para 45 segundos. Quando o limite de tempo foi excedido, o pedido de E/s foi encaminhado para a segunda HBA. A segunda HBA processado o pedido e rapidamente terminado. Para evitar estas condições lugar, o fabricante do hardware recomendado uma definição de "repetições antes de activação pós-falha" de 5 segundos.Exemplo 2: Filtrar intervenção por parte do controladorMuitos programas de software antivírus e produtos de cópia de segurança utilizam controladores de filtro de E/s. Estes controladores de filtro de E/s se tornam parte da pilha de pedido de E/s e têm acesso ao pedido de IRP. Suporte técnico da Microsoft tinha visto vários problemas de erros que criar condições de E/s bloqueadas ou retardada condições de E/s numa implementação de controlador de filtro.Uma condição tal era um controlador de filtro para processar cópia de segurança permitida uma cópia de segurança dos que estavam abertos quando ocorreu a cópia de segurança. O administrador do sistema tinha incluído o directório do ficheiro de dados do SQL Server nas selecções de cópia de segurança do ficheiro. Quando a cópia de segurança Ocorreu, a cópia de segurança tentou obter a imagem correcta do ficheiro no momento da cópia de segurança iniciada. Este procedimento atrasadas pedidos de E/s. Os pedidos de E/s foram permitidos apenas concluir um de cada vez foram processadas pelo software. Quando iniciar a cópia de segurança, desempenho do SQL Server ignorados drasticamente porque a E/s do SQL Server foi forçado a concluir um de cada vez. A composto o problema, a lógica "um de cada vez" foi que a operação de E/s não foi possível executar assincronamente. Por este motivo, quando o SQL Server esperado para enviar um pedido de E/s e continuar, o trabalho foi bloqueado na leitura ou escrita chamada até que o pedido de E/s concluída. Tarefas de processamento como um servidor de SQL leitura antecipada foram desactivadas efectivamente pelas acções do controlador de filtro. Além disso, o outro erro no controlador de filtro permanecem as acções "um de cada vez" no processo, mesmo quando a cópia de segurança foi concluída. A única forma de restaurar o desempenho do SQL Server foi para fechar e voltar a abrir a base de dados, ou para reiniciar o SQL Server para que o identificador de ficheiro foi lançado e reacquired sem a interacção de controlador de filtro. ResoluçãoPara resolver este problema, os ficheiros de dados do SQL Server foram removidos do processo de cópia de segurança de ficheiros. O fabricante de software também corrigido o problema para a esquerda no ficheiro no modo "um de cada vez".Exemplo 3: Oculta errosMuitos sistemas finais superiores têm caminhos de E/s multicanais para processar o balanceamento de carga ou actividades semelhantes. Suporte técnico da Microsoft encontrou problemas com o software onde um pedido de E/s falha mas o software não processa correctamente a condição de erro de balanceamento de carga. O software poderá tentar tentativas infinitas. A operação de E/s fica retida e SQL Server não é possível concluir a acção especificada. Muito como o registo de escrever condição descrito anteriormente, muitos dos comportamentos sistema fraca podem ocorrer após essa condição wedges o sistema.ResoluçãoPara resolver este problema, reiniciar o SQL Server é frequentemente necessário. No entanto, por vezes, tem de reiniciar o sistema operativo para restaurar a processamento. A Microsoft também recomenda que obtenha uma actualização de software do fornecedor de E/s.Exemplo 4: Raid, armazenamento remoto e espelhamento unidadesMuitos sistemas utilizam espelhamento (mirroring) ou executar passos semelhantes para evitar a perda de dados. Alguns sistemas que utilizam o espelhamento (mirroring) são software com base e algumas são hardware baseado. A situação normalmente uncovered pelo suporte técnico para estes sistemas é latência maior.Um aumento no tempo de E/s geral ocorre quando a E/s deve concluir para o mirror antes da E/s é considerado completo. Para instalações de espelho remoto, tentativas de rede podem tornar-se envolvidas. Quando ocorrem falhas de unidade e está a reconstruir o sistema de raid, o padrão de E/s pode também ser interrompido. ResoluçãoDefinições de configuração só são necessárias para reduzir a latência de espelhos (mirror) ou raid reconstrução operações.Exemplo 5: compressãoA Microsoft não suporta Microsoft SQL Server 7.0 ou ficheiros de dados do Microsoft SQL Server 2000 e ficheiros de registo em unidades comprimidas. Compressão NTFS não é segura para o SQL Server porque o protocolo Write lá registo (WAL) quebras de compressão NTFS. Compressão NTFS também requer um aumento de processamento para cada operação de E/s. Compressão cria "um de cada vez" como comportamento provoca problemas graves de desempenho.ResoluçãoPara resolver este problema, descomprima os dados e os ficheiros de registo.Pontos de dados adicionaisAs informações de tipo de espera que são fornecidas na tabela de sistema sysprocesses podem ser úteis no diagnóstico de congestionamentos de E/s. Memória intermédia de E/s enganchado espera tipos e aguarda writelog é indicadores chaves para investigar o desempenho de caminho de E/s.Para obter mais informações sobre tipos de espera, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base: 822101
(http://support.microsoft.com/kb/822101/
)
Descrição das colunas waittype e lastwaittype na tabela master.dbo.sysprocesses SQL Server 2000 e SQL Server 2005 Referências231619
(http://support.microsoft.com/kb/231619/
)
Como utilizar o utilitário SQLIOStress para salientar um subsistema de disco como, por exemplo, o SQL Server 826433
(http://support.microsoft.com/kb/826433/
)
Diagnósticos de SQL Server adicionais ao detectar problemas de E/s não reportados 230785
(http://support.microsoft.com/kb/230785/
)
Algoritmos de armazenamento de dados de registo de SQL Server 7.0, SQL Server 2000 e SQL Server 2005 e expandem fiabilidade dos dados SQL Server requer sistemas para suportar ? garantida a entrega de multimédia estável ? conforme descrito no programa do Microsoft SQL Server Always-On armazenamento solução de revisão. FOPara obter mais informações sobre os requisitos de entrada e saídas para o motor de base de dados do SQL Server, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base: 967576
(http://support.microsoft.com/kb/967576/
)
Requisitos de motor de entrada/saída do Microsoft SQL da base de dados do servidor PropriedadesArtigo: 897284 - Última revisão: quarta-feira, 5 de Agosto de 2009 - Revisão: 3.0 A informação contida neste artigo aplica-se a:
Tradução automática 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 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: 897284
(http://support.microsoft.com/kb/897284/en-us/
)
|




Voltar ao topo








