Sintomas
Considere o seguinte cenário no Microsoft SQL Server Compact 3.5:
-
Tem duas transacções de isolamento serializável.
-
Ambas as transações tentam efectuar uma operação de LMG (consulta/LMG) na mesma tabela que contém um bloqueio dica TABLOCK ou uma sugestão de bloqueio de XLOCK.
Neste cenário, encontrar um impasse.
Causa
Este problema ocorre porque ambas as transações aguardar entre si, XLOCK. Quando a consulta é compilada, ambas as transações obter o bloqueio partilhado na tabela e, em seguida, detém o bloqueio para o isolamento serializável. Quando ambas as transações tentam efectuar uma execução, a consulta na mesma tabela que contém uma sugestão de bloqueio de XLOCK, em seguida, ambas as transações aguardar entre si, XLOCK. Por conseguinte, ocorre um impasse.NotaEste problema também ocorre quando ambas as transações efectuar uma operação de LMG na mesma tabela que contém um bloqueio dica TABLOCK.
Resolução
SQL Server Compact 3.5 Service Pack 2
A correcção para este problema foi primeiro disponibilizada em 2 de actualização cumulativa. Para mais informações sobre como obter este pacote de actualização cumulativa para o SQL Server 2008 R2, clique no número de artigo seguinte para visualizar o artigo na Microsoft Knowledge Base:
2289547 Actualização cumulativa 2 para SQL Server Compact 3.5 Service Pack 2
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Mais Informações
Para mais informações sobre impasse, visite o seguinte Web site da Microsoft Developer Network (MSDN):
ImpassePara mais informações sobre LMG, visite o seguinte Web site da MSDN:
LMGPara mais informações sobre a terminologia de atualização de software, clique no seguinte número de artigo para visualizar o artigo na Base de Dados de Conhecimento Microsoft:
824684Descrição da terminologia padrão utilizada para descrever as atualizações de software da Microsoft