Sintomas
Considere o seguinte cenário:
- Você executa um ALTER INDEX ... consulta ONLINE no Microsoft SQL Server 2012 ou no SQL Server 2014.
- Essa consulta é anulada devido a um deadlock ou a uma ação iniciada pelo usuário, como executar um comando kill ou cancelar a consulta.
Nesse cenário, todas as operações DML que precisam usar metadados de índice são bloqueadas ou demoram muito para serem concluídas.
Além disso, você pode experimentar os seguintes sintomas:
- Valores elevados para o tipo de espera PWAIT_MD_RELATION_CACHE ou MD_LAZYCACHE_RWLOCK ao consultar a DMV (exibições de gerenciamento dinâmico) sys.dm_os_wait_stats e sys.dm_exec_requests
- Valores elevados para SOS_RW tipo de espera ao consultar o sys.dm_os_spinlock_stats DMV
Esse problema geralmente é observado como um comboio de bloqueio que ocorre quando cada nova consulta DML limpa lentamente os objetos de sincronização. Devido à natureza de espera dos objetos de sincronização, o uso da CPU geralmente é limitado.
Resolução
Informações sobre a atualização cumulativa
O problema foi corrigido pela primeira vez na atualização cumulativa seguinte do SQL Server.
Atualização cumulativa 1 para SQL Server 2014 /pt-br/help/2931693
Atualização cumulativa 9 para SQL Server 2012 SP1 /en-us/help/2931078
Sobre atualizações cumulativas para o SQL Server
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e todas as correções de segurança incluídas na atualização cumulativa anterior. Confira as atualizações cumulativas mais recentes para o SQL Server:
- Atualização cumulativa mais recente do SQL Server 2014
- Atualização cumulativa mais recente do SQL Server 2012 SP1
Informações sobre o hotfix
Um hotfix compatível foi disponibilizado pela Microsoft. No entanto, este hotfix destina-se a corrigir somente o problema descrito neste artigo. Aplique-o somente em sistemas que apresentarem esse problema específico.
Se o hotfix estiver disponível para download, existirá uma seção "Download de hotfix disponível" na parte superior deste artigo da Base de Dados de Conhecimento. Se esta seção não aparecer, envie uma solicitação ao Serviço de Suporte e Atendimento ao Cliente Microsoft para obter o hotfix.
Observação Se outros problemas estiverem ocorrendo ou se uma solução de problemas for necessária, talvez seja necessário criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a outras questões e problemas de suporte não qualificados para esse hotfix específico. Para obter uma lista completa dos números de telefone do Atendimento ao Cliente da Microsoft ou para criar uma solicitação de serviço separada, visite o seguinte site da Microsoft:
/contactus/?ws=support Observação O formulário "Download de hotfix disponível" mostra os idiomas para os quais o hotfix está disponível. Se o seu idioma não for exibido, significa que não há um hotfix disponível para ele.
Importante Depois de aplicar esse hotfix, o operador ALTER INDEX ... A consulta ONLINE pode ser anulada sem diminuir o desempenho do SQL Server.
Solução alternativa
Para contornar esse problema, você pode liberar a entrada de metadados para evitar o comboio de bloqueio e possíveis ciclos de recompilação que diminuem o desempenho da consulta. Para fazer isso, use um dos seguintes métodos para ajudar a liberar a entrada de metadados:
- Reinicie a instância do SQL Server 2012 ou do SQL Server 2014.
- Coloque o banco de dados problemático no estado offline e, em seguida, coloque-o online novamente.
Status
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".