ID do artigo: 323630 - Última revisão: quinta-feira, 22 de fevereiro de 2007 - Revisão: 10.3 Como resolver problemas de bloqueio causados por escalonamento de bloqueio no SQL Server
Nesta páginaSumárioEscalonamento de bloqueio é o processo de conversão de muitos bloqueios refinados (como bloqueios de linha ou página) em bloqueios de tabela. Microsoft SQL Server determina dinamicamente quando executar o escalonamento de bloqueio. Ao fazer essa decisão, o SQL Server leva em conta o número de bloqueios são mantidos em uma verificação específica, o número de bloqueios mantidos por toda a transação e a memória que está sendo usada para bloqueios no sistema como um todo. Geralmente, o comportamento do padrão do SQL Server resulta em escalonamento de bloqueio ocorrendo apenas nesses pontos onde ele deve melhorar o desempenho ou quando você deve reduzir a memória do sistema excessiva de bloqueio para um nível mais razoável. No entanto, alguns designs de aplicativo ou consulta podem disparar o escalonamento de bloqueio uma vez quando não é desejável, e o bloqueio de tabela encaminhado pode bloquear outros usuários. Este artigo descreve como determinar se o escalonamento de bloqueio está causando bloqueio e como lidar com o escalonamento de bloqueio indesejáveis. Mais InformaçõesComo determinar se escalonamento de bloqueio é que causam bloqueioEscalonamento de bloqueio não causa a maioria dos problemas de bloqueio. Para determinar se o escalonamento de bloqueio está ocorrendo perto da hora quando você tiver problemas bloqueio, inicie um rastreamento SQL Profiler que inclui o evento : Escalonamento de bloqueio . Se você não vir quaisquer eventos : Escalonamento de bloqueio , escalonamento de bloqueios não está ocorrendo no servidor e as informações neste artigo não se aplicam à sua situação.Se o escalonamento de bloqueio está ocorrendo, verifique se o bloqueio de tabela encaminhado está bloqueando outros usuários. Para obter mais informações sobre como identificar o Bloqueador de cabeça e como identificar o recurso de bloqueio mantido pelo Bloqueador de cabeça que está bloqueando a outro processo de servidor identificações (SPIDs), clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft: 224453
(http://support.microsoft.com/kb/224453/
)
Noções básicas sobre e resolver o SQL Server 7.0 ou problemas de bloqueio de 2000 Se o bloqueio que está bloqueando outros usuários for diferente de um bloqueio de (nível de tabela) TAB com um modo de bloqueio de S (compartilhado) ou X (exclusivo), escalonamento de bloqueio não é o problema. Em particular, se o bloqueio TAB for um intenção de bloqueio (como um modo de bloqueio de IS, IU ou IX), isso não é o resultado de escalonamento de bloqueio. Se os problemas de bloqueio não estão sendo causados por escalonamento de bloqueio, consulte o artigo Q224453 para etapas de solução de problemas. Como evitar o escalonamento de bloqueioA maneira mais simples e mais segura de evitar que escalonamento de bloqueio é manter transações curtas e reduzir a superfície de bloqueio de consultas caras para que os limites de escalonamento de bloqueio não são excedidos. Há várias maneiras para obter esse objetivo, muitos dos quais estão listados:
Erro: 1204, gravidade: 19, estado: 1 O SQL Server não é possível obter um recurso LOCK neste momento. Execute novamente a sua instrução quando houver menos usuários ativos ou peça o administrador do sistema para verificar a configuração de bloqueio e memória do SQL Server. Somente usar uma dica de bloqueio como ROWLOCK altera o plano inicial de bloqueio. Dicas de bloqueio não impedirão o escalonamento de bloqueio. Os outros métodos de evitar o escalonamento de bloqueio descritos neste artigo são melhores opções de ativar o sinalizador de rastreamento. Além disso, os outros métodos geralmente resulta em melhor desempenho para a consulta que desabilitar escalonamento de bloqueio para a instância inteira. A Microsoft recomenda ativar esse sinalizador de rastreamento somente atenuar bloqueio graves que causados por escalonamento de bloqueio enquanto outras opções, como aquelas discutidas anteriormente neste artigo, estão sendo investigadas. Habilitar um sinalizador de rastreamento para que ele é ativado sempre que o SQL Server é iniciado, adicioná-lo como um parâmetro de inicialização do servidor. Para adicionar um parâmetro de inicialização do servidor, clique com o botão direito do mouse no SQL Enterprise Manager no servidor, clique em Propriedades e em seguida, na guia Geral , clique em Parâmetros de inicialização e, em seguida, adicione o parâmetro seguinte (exatamente como mostrado): -T1211 Você deve ciclo o serviço SQL Server para um novo parâmetro de inicialização entrem em vigor. Se você executar a seguinte consulta no Query Analyzer o sinalizador de rastreamento entra em vigor imediatamente: 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: 323630
(http://support.microsoft.com/kb/323630/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